endoreg-db 0.3.6__py3-none-any.whl → 0.3.7__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 (347) 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_type/base_types.yaml +58 -58
  14. endoreg_db/data/case_template/template/base.yaml +7 -7
  15. endoreg_db/data/case_template/template_type/pre_endoscopy.yaml +2 -2
  16. endoreg_db/data/case_template/tmp/_rule_value +13 -13
  17. endoreg_db/data/case_template/tmp/rule/01_atrial_fibrillation.yaml +21 -21
  18. endoreg_db/data/case_template/tmp/rule/02_create_object.yaml +9 -9
  19. endoreg_db/data/case_template/tmp/template/atrial_fibrillation_low_risk.yaml +6 -6
  20. endoreg_db/data/center/data.yaml +59 -59
  21. endoreg_db/data/center_resource/green_endoscopy_dashboard_CenterResource.yaml +144 -144
  22. endoreg_db/data/center_waste/green_endoscopy_dashboard_CenterWaste.yaml +48 -48
  23. endoreg_db/data/disease/cardiovascular.yaml +37 -37
  24. endoreg_db/data/disease/hepatology.yaml +4 -4
  25. endoreg_db/data/disease/misc.yaml +5 -5
  26. endoreg_db/data/disease/renal.yaml +4 -4
  27. endoreg_db/data/disease_classification/chronic_kidney_disease.yaml +5 -5
  28. endoreg_db/data/disease_classification/coronary_vessel_disease.yaml +5 -5
  29. endoreg_db/data/disease_classification_choice/chronic_kidney_disease.yaml +40 -40
  30. endoreg_db/data/disease_classification_choice/coronary_vessel_disease.yaml +19 -19
  31. endoreg_db/data/distribution/date/patient.yaml +6 -6
  32. endoreg_db/data/distribution/single_categorical/patient.yaml +6 -6
  33. endoreg_db/data/emission_factor/green_endoscopy_dashboard_EmissionFactor.yaml +132 -132
  34. endoreg_db/data/endoscope_type/data.yaml +10 -10
  35. endoreg_db/data/endoscopy_processor/data.yaml +45 -45
  36. endoreg_db/data/event/cardiology.yaml +27 -27
  37. endoreg_db/data/event/neurology.yaml +13 -13
  38. endoreg_db/data/event/surgery.yaml +12 -12
  39. endoreg_db/data/event/thrombembolism.yaml +19 -19
  40. endoreg_db/data/examination/examinations/data.yaml +65 -65
  41. endoreg_db/data/examination/time/data.yaml +47 -47
  42. endoreg_db/data/examination/time-type/data.yaml +7 -7
  43. endoreg_db/data/examination/type/data.yaml +5 -5
  44. endoreg_db/data/gender/data.yaml +18 -18
  45. endoreg_db/data/information_source/data.yaml +30 -30
  46. endoreg_db/data/information_source/medication.yaml +5 -5
  47. endoreg_db/data/lab_value/cardiac_enzymes.yaml +30 -30
  48. endoreg_db/data/lab_value/coagulation.yaml +48 -48
  49. endoreg_db/data/lab_value/electrolytes.yaml +189 -189
  50. endoreg_db/data/lab_value/gastrointestinal_function.yaml +121 -121
  51. endoreg_db/data/lab_value/hematology.yaml +169 -169
  52. endoreg_db/data/lab_value/hormones.yaml +53 -53
  53. endoreg_db/data/lab_value/lipids.yaml +44 -44
  54. endoreg_db/data/lab_value/misc.yaml +30 -30
  55. endoreg_db/data/lab_value/renal_function.yaml +10 -10
  56. endoreg_db/data/label/label/data.yaml +62 -62
  57. endoreg_db/data/label/label-set/data.yaml +17 -17
  58. endoreg_db/data/label/label-type/data.yaml +6 -6
  59. endoreg_db/data/medication/anticoagulation.yaml +64 -64
  60. endoreg_db/data/medication/tah.yaml +69 -69
  61. endoreg_db/data/medication_indication/anticoagulation.yaml +120 -120
  62. endoreg_db/data/medication_indication_type/data.yaml +10 -10
  63. endoreg_db/data/medication_indication_type/thrombembolism.yaml +40 -40
  64. endoreg_db/data/medication_intake_time/base.yaml +30 -30
  65. endoreg_db/data/medication_schedule/apixaban.yaml +94 -94
  66. endoreg_db/data/medication_schedule/ass.yaml +12 -12
  67. endoreg_db/data/medication_schedule/enoxaparin.yaml +26 -26
  68. endoreg_db/data/model_type/data.yaml +6 -6
  69. endoreg_db/data/network_device/data.yaml +17 -0
  70. endoreg_db/data/network_device_type/data.yaml +8 -0
  71. endoreg_db/data/patient_lab_sample_type/generic.yaml +5 -5
  72. endoreg_db/data/pdf_type/data.yaml +28 -28
  73. endoreg_db/data/product/green_endoscopy_dashboard_Product.yaml +66 -66
  74. endoreg_db/data/product_group/green_endoscopy_dashboard_ProductGroup.yaml +33 -33
  75. endoreg_db/data/product_material/green_endoscopy_dashboard_ProductMaterial.yaml +308 -308
  76. endoreg_db/data/product_weight/green_endoscopy_dashboard_ProductWeight.yaml +88 -88
  77. endoreg_db/data/profession/data.yaml +70 -70
  78. endoreg_db/data/reference_product/green_endoscopy_dashboard_ReferenceProduct.yaml +55 -55
  79. endoreg_db/data/report_reader_flag/ukw-examination-generic.yaml +26 -26
  80. endoreg_db/data/report_reader_flag/ukw-histology-generic.yaml +19 -19
  81. endoreg_db/data/resource/green_endoscopy_dashboard_Resource.yaml +15 -15
  82. endoreg_db/data/transport_route/green_endoscopy_dashboard_TransportRoute.yaml +12 -12
  83. endoreg_db/data/unit/concentration.yaml +92 -92
  84. endoreg_db/data/unit/data.yaml +17 -17
  85. endoreg_db/data/unit/length.yaml +30 -30
  86. endoreg_db/data/unit/misc.yaml +19 -19
  87. endoreg_db/data/unit/rate.yaml +5 -5
  88. endoreg_db/data/unit/time.yaml +12 -12
  89. endoreg_db/data/unit/volume.yaml +35 -35
  90. endoreg_db/data/unit/weight.yaml +37 -37
  91. endoreg_db/data/waste/data.yaml +11 -11
  92. endoreg_db/forms/__init__.py +2 -2
  93. endoreg_db/forms/questionnaires/tto_questionnaire.py +23 -23
  94. endoreg_db/forms/settings/__init__.py +8 -8
  95. endoreg_db/forms/unit.py +5 -5
  96. endoreg_db/management/commands/_load_model_template.py +40 -40
  97. endoreg_db/management/commands/delete_all.py +18 -18
  98. endoreg_db/management/commands/delete_legacy_images.py +19 -19
  99. endoreg_db/management/commands/delete_legacy_videos.py +16 -16
  100. endoreg_db/management/commands/extract_legacy_video_frames.py +18 -18
  101. endoreg_db/management/commands/fetch_legacy_image_dataset.py +32 -32
  102. endoreg_db/management/commands/fix_auth_permission.py +20 -20
  103. endoreg_db/management/commands/import_legacy_images.py +94 -94
  104. endoreg_db/management/commands/import_legacy_videos.py +76 -76
  105. endoreg_db/management/commands/load_active_model_data.py +44 -44
  106. endoreg_db/management/commands/load_ai_model_data.py +44 -44
  107. endoreg_db/management/commands/load_base_db_data.py +132 -128
  108. endoreg_db/management/commands/load_center_data.py +42 -42
  109. endoreg_db/management/commands/load_disease_classification_choices_data.py +40 -40
  110. endoreg_db/management/commands/load_disease_classification_data.py +40 -40
  111. endoreg_db/management/commands/load_disease_data.py +39 -39
  112. endoreg_db/management/commands/load_distribution_data.py +65 -65
  113. endoreg_db/management/commands/load_endoscope_type_data.py +44 -44
  114. endoreg_db/management/commands/load_endoscopy_processor_data.py +44 -44
  115. endoreg_db/management/commands/load_event_data.py +40 -40
  116. endoreg_db/management/commands/load_examination_data.py +74 -74
  117. endoreg_db/management/commands/load_g_play_data.py +112 -112
  118. endoreg_db/management/commands/load_gender_data.py +43 -43
  119. endoreg_db/management/commands/load_green_endoscopy_wuerzburg_data.py +132 -132
  120. endoreg_db/management/commands/load_information_source.py +44 -44
  121. endoreg_db/management/commands/load_lab_value_data.py +49 -49
  122. endoreg_db/management/commands/load_label_data.py +66 -66
  123. endoreg_db/management/commands/load_medication_data.py +40 -40
  124. endoreg_db/management/commands/load_medication_indication_data.py +62 -62
  125. endoreg_db/management/commands/load_medication_indication_type_data.py +40 -40
  126. endoreg_db/management/commands/load_medication_intake_time_data.py +40 -40
  127. endoreg_db/management/commands/load_medication_schedule_data.py +54 -54
  128. endoreg_db/management/commands/load_network_data.py +49 -0
  129. endoreg_db/management/commands/load_pdf_type_data.py +60 -60
  130. endoreg_db/management/commands/load_profession_data.py +43 -43
  131. endoreg_db/management/commands/load_report_reader_flag.py +45 -45
  132. endoreg_db/management/commands/load_unit_data.py +45 -45
  133. endoreg_db/management/commands/load_user_groups.py +28 -28
  134. endoreg_db/management/commands/register_ai_model.py +65 -65
  135. endoreg_db/management/commands/reset_celery_schedule.py +9 -9
  136. endoreg_db/migrations/0001_initial.py +582 -582
  137. endoreg_db/migrations/0002_rawvideofile.py +26 -26
  138. endoreg_db/migrations/0003_rawvideofile_frames_required.py +18 -18
  139. endoreg_db/migrations/0004_rename_hash_rawvideofile_video_hash.py +18 -18
  140. endoreg_db/migrations/0005_ffmpegmeta_remove_videoimportmeta_center_and_more.py +56 -56
  141. endoreg_db/migrations/0006_rawvideofile_center_alter_videometa_processor.py +25 -25
  142. endoreg_db/migrations/0007_rawvideofile_processor.py +19 -19
  143. endoreg_db/migrations/0008_rename_frames_required_rawvideofile_state_frames_required.py +18 -18
  144. endoreg_db/migrations/0009_sensitivemeta_rawvideofile_sensitive_meta.py +31 -31
  145. endoreg_db/migrations/0010_rename_endoscope_serial_number_sensitivemeta_endoscope_sn.py +18 -18
  146. endoreg_db/migrations/0011_rawvideofile_state_sensitive_data_retrieved.py +18 -18
  147. endoreg_db/migrations/0012_rawvideofile_prediction_dir_and_more.py +109 -109
  148. endoreg_db/migrations/0013_rawpdffile.py +31 -31
  149. endoreg_db/migrations/0014_pdftype_alter_rawpdffile_file_pdfmeta.py +38 -38
  150. endoreg_db/migrations/0015_rename_report_processed_rawpdffile_state_report_processed_and_more.py +31 -31
  151. endoreg_db/migrations/0016_rawpdffile_state_report_processing_required.py +18 -18
  152. endoreg_db/migrations/0017_firstname_lastname_center_first_names_and_more.py +37 -37
  153. endoreg_db/migrations/0018_reportreaderflag_reportreaderconfig.py +37 -37
  154. endoreg_db/migrations/0019_pdftype_cut_off_above_lines_and_more.py +42 -42
  155. endoreg_db/migrations/0020_rename_endoscopy_info_line_pdftype_endoscope_info_line.py +18 -18
  156. endoreg_db/migrations/0021_alter_pdftype_endoscope_info_line.py +19 -19
  157. endoreg_db/migrations/0022_alter_pdftype_endoscope_info_line.py +19 -19
  158. endoreg_db/migrations/0023_ttoquestionnaire_alter_pdftype_endoscope_info_line.py +59 -59
  159. endoreg_db/migrations/0024_remove_ttoquestionnaire_infections_and_more.py +27 -27
  160. endoreg_db/migrations/0025_event_alter_rawpdffile_file_patientevent.py +42 -42
  161. endoreg_db/migrations/0026_disease_diseaseclassification_and_more.py +166 -166
  162. endoreg_db/migrations/0027_labvalue_abbreviation_labvalue_default_normal_range_and_more.py +38 -38
  163. endoreg_db/migrations/0028_alter_unit_abbreviation.py +18 -18
  164. endoreg_db/migrations/0029_medicationintaketime_and_more.py +75 -75
  165. endoreg_db/migrations/0030_medicationindicationtype_and_more.py +101 -101
  166. endoreg_db/migrations/0031_rename_adapt_to_liver_function_medication_adapt_to_age_and_more.py +38 -38
  167. endoreg_db/migrations/0032_alter_medicationschedule_therapy_duration_d.py +18 -18
  168. endoreg_db/migrations/0033_medicationindication_sources.py +18 -18
  169. endoreg_db/migrations/0034_alter_rawpdffile_file.py +20 -20
  170. endoreg_db/migrations/0035_alter_medicationindication_sources.py +18 -18
  171. endoreg_db/migrations/0036_alter_rawpdffile_file.py +20 -20
  172. endoreg_db/migrations/0037_alter_medicationindication_sources.py +18 -18
  173. endoreg_db/migrations/0038_emissionfactor_material_product_productgroup_and_more.py +164 -164
  174. endoreg_db/migrations/0039_referenceproduct_name.py +19 -19
  175. endoreg_db/migrations/0040_quizanswertype_quizquestiontype_quizquestion_and_more.py +50 -50
  176. endoreg_db/migrations/0041_gender_patientmedication_medication_indication_and_more.py +40 -40
  177. endoreg_db/migrations/0042_casetemplateruletype_casetemplaterulevalue_and_more.py +74 -74
  178. endoreg_db/migrations/0043_casetemplatetype_name_de_casetemplatetype_name_en.py +23 -23
  179. endoreg_db/migrations/0044_casetemplateruletype_name_de_and_more.py +23 -23
  180. endoreg_db/migrations/0045_casetemplaterulevalue_value_type.py +19 -19
  181. endoreg_db/migrations/0046_casetemplaterulevalue_target_field.py +18 -18
  182. endoreg_db/migrations/0047_casetemplaterule_target_model.py +18 -18
  183. endoreg_db/migrations/0048_remove_casetemplaterule_chained_rules_and_more.py +22 -22
  184. endoreg_db/migrations/0049_remove_casetemplaterule_rule_values.py +17 -17
  185. endoreg_db/migrations/0050_casetemplaterule_rule_values.py +18 -18
  186. endoreg_db/migrations/0051_remove_casetemplaterule_calling_rules_and_more.py +27 -27
  187. endoreg_db/migrations/0052_rename_case_template_type_casetemplate_template_type.py +18 -18
  188. endoreg_db/migrations/0053_patientlabsampletype_patientlabsample_and_more.py +38 -38
  189. endoreg_db/migrations/0054_multiplecategoricalvaluedistribution_and_more.py +69 -69
  190. endoreg_db/migrations/0055_remove_casetemplaterule_rule_values_and_more.py +59 -59
  191. endoreg_db/migrations/0056_datevaluedistribution_and_more.py +32 -32
  192. endoreg_db/migrations/0057_remove_datevaluedistribution_max_date_and_more.py +72 -72
  193. endoreg_db/migrations/0058_datevaluedistribution_description_and_more.py +28 -28
  194. endoreg_db/migrations/0059_casetemplaterule_rule_values.py +18 -18
  195. endoreg_db/migrations/0060_labvalue__default_date_value_distribution_and_more.py +44 -44
  196. endoreg_db/migrations/0061_remove_patientlabvalue_date_patientlabvalue_datetime.py +24 -24
  197. endoreg_db/migrations/0062_labvalue_numeric_precision.py +18 -18
  198. endoreg_db/migrations/0063_alter_labvalue_numeric_precision.py +18 -18
  199. endoreg_db/migrations/0064_casetemplaterule_extra_parameters_and_more.py +23 -23
  200. endoreg_db/migrations/0065_rename__date_value_distribution_casetemplaterule_date_value_distribution_and_more.py +58 -58
  201. endoreg_db/migrations/0066_alter_patientlabvalue_patient_and_more.py +29 -29
  202. endoreg_db/migrations/0067_alter_medicationindication_indication_type.py +19 -19
  203. endoreg_db/models/__init__.py +75 -74
  204. endoreg_db/models/ai_model/__init__.py +3 -3
  205. endoreg_db/models/ai_model/active_model.py +9 -9
  206. endoreg_db/models/ai_model/model_meta.py +24 -24
  207. endoreg_db/models/ai_model/model_type.py +25 -25
  208. endoreg_db/models/ai_model/utils.py +8 -8
  209. endoreg_db/models/annotation/__init__.py +1 -1
  210. endoreg_db/models/annotation/binary_classification_annotation_task.py +80 -80
  211. endoreg_db/models/annotation/image_classification.py +26 -26
  212. endoreg_db/models/case_template/__init__.py +5 -5
  213. endoreg_db/models/case_template/case_template.py +81 -81
  214. endoreg_db/models/case_template/case_template_rule.py +276 -276
  215. endoreg_db/models/case_template/case_template_rule_value.py +73 -73
  216. endoreg_db/models/case_template/case_template_type.py +27 -27
  217. endoreg_db/models/center/__init__.py +4 -4
  218. endoreg_db/models/center/center.py +24 -24
  219. endoreg_db/models/center/center_product.py +33 -33
  220. endoreg_db/models/center/center_resource.py +18 -18
  221. endoreg_db/models/center/center_waste.py +10 -10
  222. endoreg_db/models/data_file/__init__.py +5 -5
  223. endoreg_db/models/data_file/base_classes/__init__.py +2 -2
  224. endoreg_db/models/data_file/base_classes/abstract_frame.py +50 -50
  225. endoreg_db/models/data_file/base_classes/abstract_video.py +200 -200
  226. endoreg_db/models/data_file/frame.py +45 -45
  227. endoreg_db/models/data_file/import_classes/__init__.py +31 -31
  228. endoreg_db/models/data_file/import_classes/processing_functions/__init__.py +34 -34
  229. endoreg_db/models/data_file/import_classes/processing_functions/pdf.py +28 -28
  230. endoreg_db/models/data_file/import_classes/processing_functions/video.py +260 -260
  231. endoreg_db/models/data_file/import_classes/raw_pdf.py +188 -188
  232. endoreg_db/models/data_file/import_classes/raw_video.py +343 -343
  233. endoreg_db/models/data_file/metadata/__init__.py +3 -3
  234. endoreg_db/models/data_file/metadata/pdf_meta.py +70 -70
  235. endoreg_db/models/data_file/metadata/sensitive_meta.py +31 -31
  236. endoreg_db/models/data_file/metadata/video_meta.py +132 -132
  237. endoreg_db/models/data_file/report_file.py +89 -89
  238. endoreg_db/models/data_file/video/__init__.py +6 -6
  239. endoreg_db/models/data_file/video/import_meta.py +25 -25
  240. endoreg_db/models/data_file/video/video.py +25 -25
  241. endoreg_db/models/data_file/video_segment.py +107 -107
  242. endoreg_db/models/disease.py +55 -55
  243. endoreg_db/models/emission/emission_factor.py +19 -19
  244. endoreg_db/models/event.py +21 -21
  245. endoreg_db/models/examination/__init__.py +3 -3
  246. endoreg_db/models/examination/examination.py +26 -26
  247. endoreg_db/models/examination/examination_time.py +27 -27
  248. endoreg_db/models/examination/examination_time_type.py +24 -24
  249. endoreg_db/models/examination/examination_type.py +18 -18
  250. endoreg_db/models/hardware/__init__.py +1 -1
  251. endoreg_db/models/hardware/endoscope.py +44 -44
  252. endoreg_db/models/hardware/endoscopy_processor.py +143 -143
  253. endoreg_db/models/information_source.py +29 -29
  254. endoreg_db/models/label/label.py +84 -84
  255. endoreg_db/models/laboratory/lab_value.py +102 -102
  256. endoreg_db/models/legacy_data/__init__.py +3 -3
  257. endoreg_db/models/legacy_data/image.py +34 -34
  258. endoreg_db/models/medication/medication.py +148 -148
  259. endoreg_db/models/network/__init__.py +2 -0
  260. endoreg_db/models/network/network_device.py +27 -0
  261. endoreg_db/models/network/network_device_type.py +23 -0
  262. endoreg_db/models/other/__init__.py +4 -4
  263. endoreg_db/models/other/distribution.py +215 -215
  264. endoreg_db/models/other/material.py +16 -16
  265. endoreg_db/models/other/resource.py +17 -17
  266. endoreg_db/models/other/transport_route.py +20 -20
  267. endoreg_db/models/other/waste.py +20 -20
  268. endoreg_db/models/patient_examination/__init__.py +35 -35
  269. endoreg_db/models/permissions/__init__.py +44 -44
  270. endoreg_db/models/persons/__init__.py +6 -6
  271. endoreg_db/models/persons/examiner/__init__.py +1 -1
  272. endoreg_db/models/persons/examiner/examiner.py +15 -15
  273. endoreg_db/models/persons/examiner/examiner_type.py +1 -1
  274. endoreg_db/models/persons/first_name.py +17 -17
  275. endoreg_db/models/persons/gender.py +22 -22
  276. endoreg_db/models/persons/last_name.py +19 -19
  277. endoreg_db/models/persons/patient/__init__.py +7 -7
  278. endoreg_db/models/persons/patient/case/case.py +30 -30
  279. endoreg_db/models/persons/patient/patient.py +216 -216
  280. endoreg_db/models/persons/patient/patient_disease.py +16 -16
  281. endoreg_db/models/persons/patient/patient_event.py +22 -22
  282. endoreg_db/models/persons/patient/patient_lab_sample.py +106 -106
  283. endoreg_db/models/persons/patient/patient_lab_value.py +176 -176
  284. endoreg_db/models/persons/patient/patient_medication.py +43 -43
  285. endoreg_db/models/persons/patient/patient_medication_schedule.py +27 -27
  286. endoreg_db/models/persons/person.py +31 -31
  287. endoreg_db/models/persons/portal_user_information.py +27 -27
  288. endoreg_db/models/prediction/__init__.py +1 -1
  289. endoreg_db/models/prediction/image_classification.py +37 -37
  290. endoreg_db/models/prediction/video_prediction_meta.py +244 -244
  291. endoreg_db/models/product/__init__.py +4 -4
  292. endoreg_db/models/product/product.py +97 -97
  293. endoreg_db/models/product/product_group.py +19 -19
  294. endoreg_db/models/product/product_material.py +24 -24
  295. endoreg_db/models/product/product_weight.py +26 -26
  296. endoreg_db/models/product/reference_product.py +99 -99
  297. endoreg_db/models/questionnaires/__init__.py +114 -114
  298. endoreg_db/models/quiz/__init__.py +1 -1
  299. endoreg_db/models/quiz/quiz_answer.py +41 -41
  300. endoreg_db/models/quiz/quiz_question.py +54 -54
  301. endoreg_db/models/report_reader/__init__.py +1 -1
  302. endoreg_db/models/report_reader/report_reader_config.py +53 -53
  303. endoreg_db/models/report_reader/report_reader_flag.py +19 -19
  304. endoreg_db/models/rules/__init__.py +4 -4
  305. endoreg_db/models/rules/rule.py +23 -23
  306. endoreg_db/models/rules/rule_applicator.py +224 -224
  307. endoreg_db/models/rules/rule_attribute_dtype.py +18 -18
  308. endoreg_db/models/rules/rule_type.py +21 -21
  309. endoreg_db/models/rules/ruleset.py +19 -19
  310. endoreg_db/models/unit.py +21 -21
  311. endoreg_db/queries/__init__.py +4 -4
  312. endoreg_db/queries/annotations/__init__.py +2 -2
  313. endoreg_db/queries/annotations/legacy.py +159 -159
  314. endoreg_db/queries/get/__init__.py +5 -5
  315. endoreg_db/queries/get/center.py +42 -42
  316. endoreg_db/queries/get/model.py +13 -13
  317. endoreg_db/queries/get/patient.py +14 -14
  318. endoreg_db/queries/get/patient_examination.py +20 -20
  319. endoreg_db/queries/get/report_file.py +33 -33
  320. endoreg_db/queries/get/video.py +31 -31
  321. endoreg_db/serializers/__init__.py +9 -9
  322. endoreg_db/serializers/ai_model.py +18 -18
  323. endoreg_db/serializers/annotation.py +17 -17
  324. endoreg_db/serializers/center.py +11 -11
  325. endoreg_db/serializers/examination.py +32 -32
  326. endoreg_db/serializers/frame.py +13 -13
  327. endoreg_db/serializers/hardware.py +20 -20
  328. endoreg_db/serializers/label.py +22 -22
  329. endoreg_db/serializers/patient.py +10 -10
  330. endoreg_db/serializers/prediction.py +15 -15
  331. endoreg_db/serializers/report_file.py +7 -7
  332. endoreg_db/serializers/video.py +27 -27
  333. endoreg_db/tests.py +3 -3
  334. endoreg_db/utils/cropping.py +28 -28
  335. endoreg_db/utils/dataloader.py +92 -92
  336. endoreg_db/utils/file_operations.py +30 -30
  337. endoreg_db/utils/hashs.py +33 -33
  338. endoreg_db/utils/legacy_ocr.py +201 -201
  339. endoreg_db/utils/ocr.py +197 -197
  340. endoreg_db/utils/uuid.py +4 -4
  341. endoreg_db/utils/video_metadata.py +87 -87
  342. endoreg_db/views.py +3 -3
  343. {endoreg_db-0.3.6.dist-info → endoreg_db-0.3.7.dist-info}/LICENSE +674 -674
  344. {endoreg_db-0.3.6.dist-info → endoreg_db-0.3.7.dist-info}/METADATA +2 -2
  345. endoreg_db-0.3.7.dist-info/RECORD +363 -0
  346. {endoreg_db-0.3.6.dist-info → endoreg_db-0.3.7.dist-info}/WHEEL +1 -1
  347. 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