endoreg-db 0.3.5__py3-none-any.whl → 0.3.6__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 (341) hide show
  1. endoreg_db/admin.py +3 -3
  2. endoreg_db/apps.py +6 -6
  3. endoreg_db/data/__init__.py +64 -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/patient_lab_sample_type/generic.yaml +5 -5
  70. endoreg_db/data/pdf_type/data.yaml +28 -28
  71. endoreg_db/data/product/green_endoscopy_dashboard_Product.yaml +66 -66
  72. endoreg_db/data/product_group/green_endoscopy_dashboard_ProductGroup.yaml +33 -33
  73. endoreg_db/data/product_material/green_endoscopy_dashboard_ProductMaterial.yaml +308 -308
  74. endoreg_db/data/product_weight/green_endoscopy_dashboard_ProductWeight.yaml +88 -88
  75. endoreg_db/data/profession/data.yaml +70 -70
  76. endoreg_db/data/reference_product/green_endoscopy_dashboard_ReferenceProduct.yaml +55 -55
  77. endoreg_db/data/report_reader_flag/ukw-examination-generic.yaml +26 -26
  78. endoreg_db/data/report_reader_flag/ukw-histology-generic.yaml +19 -19
  79. endoreg_db/data/resource/green_endoscopy_dashboard_Resource.yaml +15 -15
  80. endoreg_db/data/transport_route/green_endoscopy_dashboard_TransportRoute.yaml +12 -12
  81. endoreg_db/data/unit/concentration.yaml +92 -92
  82. endoreg_db/data/unit/data.yaml +17 -17
  83. endoreg_db/data/unit/length.yaml +30 -30
  84. endoreg_db/data/unit/misc.yaml +19 -19
  85. endoreg_db/data/unit/rate.yaml +5 -5
  86. endoreg_db/data/unit/time.yaml +12 -12
  87. endoreg_db/data/unit/volume.yaml +35 -35
  88. endoreg_db/data/unit/weight.yaml +37 -37
  89. endoreg_db/data/waste/data.yaml +11 -11
  90. endoreg_db/forms/__init__.py +2 -2
  91. endoreg_db/forms/questionnaires/tto_questionnaire.py +23 -23
  92. endoreg_db/forms/settings/__init__.py +8 -8
  93. endoreg_db/forms/unit.py +5 -5
  94. endoreg_db/management/commands/_load_model_template.py +40 -40
  95. endoreg_db/management/commands/delete_all.py +18 -18
  96. endoreg_db/management/commands/delete_legacy_images.py +19 -19
  97. endoreg_db/management/commands/delete_legacy_videos.py +16 -16
  98. endoreg_db/management/commands/extract_legacy_video_frames.py +18 -18
  99. endoreg_db/management/commands/fetch_legacy_image_dataset.py +32 -32
  100. endoreg_db/management/commands/fix_auth_permission.py +20 -20
  101. endoreg_db/management/commands/import_legacy_images.py +94 -94
  102. endoreg_db/management/commands/import_legacy_videos.py +76 -76
  103. endoreg_db/management/commands/load_active_model_data.py +44 -44
  104. endoreg_db/management/commands/load_ai_model_data.py +44 -44
  105. endoreg_db/management/commands/load_base_db_data.py +128 -128
  106. endoreg_db/management/commands/load_center_data.py +42 -42
  107. endoreg_db/management/commands/load_disease_classification_choices_data.py +40 -40
  108. endoreg_db/management/commands/load_disease_classification_data.py +40 -40
  109. endoreg_db/management/commands/load_disease_data.py +39 -39
  110. endoreg_db/management/commands/load_distribution_data.py +65 -65
  111. endoreg_db/management/commands/load_endoscope_type_data.py +44 -44
  112. endoreg_db/management/commands/load_endoscopy_processor_data.py +44 -44
  113. endoreg_db/management/commands/load_event_data.py +40 -40
  114. endoreg_db/management/commands/load_examination_data.py +74 -74
  115. endoreg_db/management/commands/load_g_play_data.py +112 -112
  116. endoreg_db/management/commands/load_gender_data.py +43 -43
  117. endoreg_db/management/commands/load_green_endoscopy_wuerzburg_data.py +132 -132
  118. endoreg_db/management/commands/load_information_source.py +44 -44
  119. endoreg_db/management/commands/load_lab_value_data.py +49 -49
  120. endoreg_db/management/commands/load_label_data.py +66 -66
  121. endoreg_db/management/commands/load_medication_data.py +40 -40
  122. endoreg_db/management/commands/load_medication_indication_data.py +62 -62
  123. endoreg_db/management/commands/load_medication_indication_type_data.py +40 -40
  124. endoreg_db/management/commands/load_medication_intake_time_data.py +40 -40
  125. endoreg_db/management/commands/load_medication_schedule_data.py +54 -54
  126. endoreg_db/management/commands/load_pdf_type_data.py +60 -60
  127. endoreg_db/management/commands/load_profession_data.py +43 -43
  128. endoreg_db/management/commands/load_report_reader_flag.py +45 -45
  129. endoreg_db/management/commands/load_unit_data.py +45 -45
  130. endoreg_db/management/commands/load_user_groups.py +28 -28
  131. endoreg_db/management/commands/register_ai_model.py +65 -65
  132. endoreg_db/management/commands/reset_celery_schedule.py +9 -9
  133. endoreg_db/migrations/0001_initial.py +582 -582
  134. endoreg_db/migrations/0002_rawvideofile.py +26 -26
  135. endoreg_db/migrations/0003_rawvideofile_frames_required.py +18 -18
  136. endoreg_db/migrations/0004_rename_hash_rawvideofile_video_hash.py +18 -18
  137. endoreg_db/migrations/0005_ffmpegmeta_remove_videoimportmeta_center_and_more.py +56 -56
  138. endoreg_db/migrations/0006_rawvideofile_center_alter_videometa_processor.py +25 -25
  139. endoreg_db/migrations/0007_rawvideofile_processor.py +19 -19
  140. endoreg_db/migrations/0008_rename_frames_required_rawvideofile_state_frames_required.py +18 -18
  141. endoreg_db/migrations/0009_sensitivemeta_rawvideofile_sensitive_meta.py +31 -31
  142. endoreg_db/migrations/0010_rename_endoscope_serial_number_sensitivemeta_endoscope_sn.py +18 -18
  143. endoreg_db/migrations/0011_rawvideofile_state_sensitive_data_retrieved.py +18 -18
  144. endoreg_db/migrations/0012_rawvideofile_prediction_dir_and_more.py +109 -109
  145. endoreg_db/migrations/0013_rawpdffile.py +31 -31
  146. endoreg_db/migrations/0014_pdftype_alter_rawpdffile_file_pdfmeta.py +38 -38
  147. endoreg_db/migrations/0015_rename_report_processed_rawpdffile_state_report_processed_and_more.py +31 -31
  148. endoreg_db/migrations/0016_rawpdffile_state_report_processing_required.py +18 -18
  149. endoreg_db/migrations/0017_firstname_lastname_center_first_names_and_more.py +37 -37
  150. endoreg_db/migrations/0018_reportreaderflag_reportreaderconfig.py +37 -37
  151. endoreg_db/migrations/0019_pdftype_cut_off_above_lines_and_more.py +42 -42
  152. endoreg_db/migrations/0020_rename_endoscopy_info_line_pdftype_endoscope_info_line.py +18 -18
  153. endoreg_db/migrations/0021_alter_pdftype_endoscope_info_line.py +19 -19
  154. endoreg_db/migrations/0022_alter_pdftype_endoscope_info_line.py +19 -19
  155. endoreg_db/migrations/0023_ttoquestionnaire_alter_pdftype_endoscope_info_line.py +59 -59
  156. endoreg_db/migrations/0024_remove_ttoquestionnaire_infections_and_more.py +27 -27
  157. endoreg_db/migrations/0025_event_alter_rawpdffile_file_patientevent.py +42 -42
  158. endoreg_db/migrations/0026_disease_diseaseclassification_and_more.py +166 -166
  159. endoreg_db/migrations/0027_labvalue_abbreviation_labvalue_default_normal_range_and_more.py +38 -38
  160. endoreg_db/migrations/0028_alter_unit_abbreviation.py +18 -18
  161. endoreg_db/migrations/0029_medicationintaketime_and_more.py +75 -75
  162. endoreg_db/migrations/0030_medicationindicationtype_and_more.py +101 -101
  163. endoreg_db/migrations/0031_rename_adapt_to_liver_function_medication_adapt_to_age_and_more.py +38 -38
  164. endoreg_db/migrations/0032_alter_medicationschedule_therapy_duration_d.py +18 -18
  165. endoreg_db/migrations/0033_medicationindication_sources.py +18 -18
  166. endoreg_db/migrations/0034_alter_rawpdffile_file.py +20 -20
  167. endoreg_db/migrations/0035_alter_medicationindication_sources.py +18 -18
  168. endoreg_db/migrations/0036_alter_rawpdffile_file.py +20 -20
  169. endoreg_db/migrations/0037_alter_medicationindication_sources.py +18 -18
  170. endoreg_db/migrations/0038_emissionfactor_material_product_productgroup_and_more.py +164 -164
  171. endoreg_db/migrations/0039_referenceproduct_name.py +19 -19
  172. endoreg_db/migrations/0040_quizanswertype_quizquestiontype_quizquestion_and_more.py +50 -50
  173. endoreg_db/migrations/0041_gender_patientmedication_medication_indication_and_more.py +40 -40
  174. endoreg_db/migrations/0042_casetemplateruletype_casetemplaterulevalue_and_more.py +74 -74
  175. endoreg_db/migrations/0043_casetemplatetype_name_de_casetemplatetype_name_en.py +23 -23
  176. endoreg_db/migrations/0044_casetemplateruletype_name_de_and_more.py +23 -23
  177. endoreg_db/migrations/0045_casetemplaterulevalue_value_type.py +19 -19
  178. endoreg_db/migrations/0046_casetemplaterulevalue_target_field.py +18 -18
  179. endoreg_db/migrations/0047_casetemplaterule_target_model.py +18 -18
  180. endoreg_db/migrations/0048_remove_casetemplaterule_chained_rules_and_more.py +22 -22
  181. endoreg_db/migrations/0049_remove_casetemplaterule_rule_values.py +17 -17
  182. endoreg_db/migrations/0050_casetemplaterule_rule_values.py +18 -18
  183. endoreg_db/migrations/0051_remove_casetemplaterule_calling_rules_and_more.py +27 -27
  184. endoreg_db/migrations/0052_rename_case_template_type_casetemplate_template_type.py +18 -18
  185. endoreg_db/migrations/0053_patientlabsampletype_patientlabsample_and_more.py +38 -38
  186. endoreg_db/migrations/0054_multiplecategoricalvaluedistribution_and_more.py +69 -69
  187. endoreg_db/migrations/0055_remove_casetemplaterule_rule_values_and_more.py +59 -59
  188. endoreg_db/migrations/0056_datevaluedistribution_and_more.py +32 -32
  189. endoreg_db/migrations/0057_remove_datevaluedistribution_max_date_and_more.py +72 -72
  190. endoreg_db/migrations/0058_datevaluedistribution_description_and_more.py +28 -28
  191. endoreg_db/migrations/0059_casetemplaterule_rule_values.py +18 -18
  192. endoreg_db/migrations/0060_labvalue__default_date_value_distribution_and_more.py +44 -44
  193. endoreg_db/migrations/0061_remove_patientlabvalue_date_patientlabvalue_datetime.py +24 -24
  194. endoreg_db/migrations/0062_labvalue_numeric_precision.py +18 -18
  195. endoreg_db/migrations/0063_alter_labvalue_numeric_precision.py +18 -18
  196. endoreg_db/migrations/0064_casetemplaterule_extra_parameters_and_more.py +23 -23
  197. endoreg_db/migrations/0065_rename__date_value_distribution_casetemplaterule_date_value_distribution_and_more.py +58 -58
  198. endoreg_db/migrations/0066_alter_patientlabvalue_patient_and_more.py +29 -29
  199. endoreg_db/migrations/0067_alter_medicationindication_indication_type.py +19 -19
  200. endoreg_db/models/__init__.py +74 -74
  201. endoreg_db/models/ai_model/__init__.py +3 -3
  202. endoreg_db/models/ai_model/active_model.py +9 -9
  203. endoreg_db/models/ai_model/model_meta.py +24 -24
  204. endoreg_db/models/ai_model/model_type.py +25 -25
  205. endoreg_db/models/ai_model/utils.py +8 -8
  206. endoreg_db/models/annotation/__init__.py +1 -1
  207. endoreg_db/models/annotation/binary_classification_annotation_task.py +80 -80
  208. endoreg_db/models/annotation/image_classification.py +26 -26
  209. endoreg_db/models/case_template/__init__.py +5 -5
  210. endoreg_db/models/case_template/case_template.py +81 -81
  211. endoreg_db/models/case_template/case_template_rule.py +276 -276
  212. endoreg_db/models/case_template/case_template_rule_value.py +73 -73
  213. endoreg_db/models/case_template/case_template_type.py +27 -27
  214. endoreg_db/models/center/__init__.py +4 -4
  215. endoreg_db/models/center/center.py +24 -24
  216. endoreg_db/models/center/center_product.py +33 -33
  217. endoreg_db/models/center/center_resource.py +18 -18
  218. endoreg_db/models/center/center_waste.py +10 -10
  219. endoreg_db/models/data_file/__init__.py +5 -5
  220. endoreg_db/models/data_file/base_classes/__init__.py +2 -2
  221. endoreg_db/models/data_file/base_classes/abstract_frame.py +50 -50
  222. endoreg_db/models/data_file/base_classes/abstract_video.py +200 -200
  223. endoreg_db/models/data_file/frame.py +45 -45
  224. endoreg_db/models/data_file/import_classes/__init__.py +31 -31
  225. endoreg_db/models/data_file/import_classes/processing_functions/__init__.py +34 -34
  226. endoreg_db/models/data_file/import_classes/processing_functions/pdf.py +28 -28
  227. endoreg_db/models/data_file/import_classes/processing_functions/video.py +260 -260
  228. endoreg_db/models/data_file/import_classes/raw_pdf.py +188 -188
  229. endoreg_db/models/data_file/import_classes/raw_video.py +343 -343
  230. endoreg_db/models/data_file/metadata/__init__.py +3 -3
  231. endoreg_db/models/data_file/metadata/pdf_meta.py +70 -70
  232. endoreg_db/models/data_file/metadata/sensitive_meta.py +31 -31
  233. endoreg_db/models/data_file/metadata/video_meta.py +132 -132
  234. endoreg_db/models/data_file/report_file.py +89 -89
  235. endoreg_db/models/data_file/video/__init__.py +6 -6
  236. endoreg_db/models/data_file/video/import_meta.py +25 -25
  237. endoreg_db/models/data_file/video/video.py +25 -25
  238. endoreg_db/models/data_file/video_segment.py +107 -107
  239. endoreg_db/models/disease.py +55 -55
  240. endoreg_db/models/emission/emission_factor.py +19 -19
  241. endoreg_db/models/event.py +21 -21
  242. endoreg_db/models/examination/__init__.py +3 -3
  243. endoreg_db/models/examination/examination.py +26 -26
  244. endoreg_db/models/examination/examination_time.py +27 -27
  245. endoreg_db/models/examination/examination_time_type.py +24 -24
  246. endoreg_db/models/examination/examination_type.py +18 -18
  247. endoreg_db/models/hardware/__init__.py +1 -1
  248. endoreg_db/models/hardware/endoscope.py +44 -44
  249. endoreg_db/models/hardware/endoscopy_processor.py +143 -143
  250. endoreg_db/models/information_source.py +29 -29
  251. endoreg_db/models/label/label.py +84 -84
  252. endoreg_db/models/laboratory/lab_value.py +102 -102
  253. endoreg_db/models/legacy_data/__init__.py +3 -3
  254. endoreg_db/models/legacy_data/image.py +34 -34
  255. endoreg_db/models/medication/medication.py +148 -148
  256. endoreg_db/models/other/__init__.py +4 -4
  257. endoreg_db/models/other/distribution.py +215 -215
  258. endoreg_db/models/other/material.py +16 -16
  259. endoreg_db/models/other/resource.py +17 -17
  260. endoreg_db/models/other/transport_route.py +20 -20
  261. endoreg_db/models/other/waste.py +20 -20
  262. endoreg_db/models/patient_examination/__init__.py +35 -35
  263. endoreg_db/models/permissions/__init__.py +44 -44
  264. endoreg_db/models/persons/__init__.py +6 -6
  265. endoreg_db/models/persons/examiner/__init__.py +1 -1
  266. endoreg_db/models/persons/examiner/examiner.py +15 -15
  267. endoreg_db/models/persons/examiner/examiner_type.py +1 -1
  268. endoreg_db/models/persons/first_name.py +17 -17
  269. endoreg_db/models/persons/gender.py +22 -22
  270. endoreg_db/models/persons/last_name.py +19 -19
  271. endoreg_db/models/persons/patient/__init__.py +7 -7
  272. endoreg_db/models/persons/patient/case/case.py +30 -30
  273. endoreg_db/models/persons/patient/patient.py +216 -216
  274. endoreg_db/models/persons/patient/patient_disease.py +16 -16
  275. endoreg_db/models/persons/patient/patient_event.py +22 -22
  276. endoreg_db/models/persons/patient/patient_lab_sample.py +106 -106
  277. endoreg_db/models/persons/patient/patient_lab_value.py +176 -176
  278. endoreg_db/models/persons/patient/patient_medication.py +43 -43
  279. endoreg_db/models/persons/patient/patient_medication_schedule.py +27 -27
  280. endoreg_db/models/persons/person.py +31 -31
  281. endoreg_db/models/persons/portal_user_information.py +27 -27
  282. endoreg_db/models/prediction/__init__.py +1 -1
  283. endoreg_db/models/prediction/image_classification.py +37 -37
  284. endoreg_db/models/prediction/video_prediction_meta.py +244 -244
  285. endoreg_db/models/product/__init__.py +4 -4
  286. endoreg_db/models/product/product.py +97 -97
  287. endoreg_db/models/product/product_group.py +19 -19
  288. endoreg_db/models/product/product_material.py +24 -24
  289. endoreg_db/models/product/product_weight.py +26 -26
  290. endoreg_db/models/product/reference_product.py +99 -99
  291. endoreg_db/models/questionnaires/__init__.py +114 -114
  292. endoreg_db/models/quiz/__init__.py +1 -1
  293. endoreg_db/models/quiz/quiz_answer.py +41 -41
  294. endoreg_db/models/quiz/quiz_question.py +54 -54
  295. endoreg_db/models/report_reader/__init__.py +1 -1
  296. endoreg_db/models/report_reader/report_reader_config.py +53 -53
  297. endoreg_db/models/report_reader/report_reader_flag.py +19 -19
  298. endoreg_db/models/rules/__init__.py +4 -4
  299. endoreg_db/models/rules/rule.py +23 -23
  300. endoreg_db/models/rules/rule_applicator.py +224 -224
  301. endoreg_db/models/rules/rule_attribute_dtype.py +18 -18
  302. endoreg_db/models/rules/rule_type.py +21 -21
  303. endoreg_db/models/rules/ruleset.py +19 -19
  304. endoreg_db/models/unit.py +21 -21
  305. endoreg_db/queries/__init__.py +4 -4
  306. endoreg_db/queries/annotations/__init__.py +2 -2
  307. endoreg_db/queries/annotations/legacy.py +159 -159
  308. endoreg_db/queries/get/__init__.py +5 -5
  309. endoreg_db/queries/get/center.py +42 -42
  310. endoreg_db/queries/get/model.py +13 -13
  311. endoreg_db/queries/get/patient.py +14 -14
  312. endoreg_db/queries/get/patient_examination.py +20 -20
  313. endoreg_db/queries/get/report_file.py +33 -33
  314. endoreg_db/queries/get/video.py +31 -31
  315. endoreg_db/serializers/__init__.py +9 -9
  316. endoreg_db/serializers/ai_model.py +18 -18
  317. endoreg_db/serializers/annotation.py +17 -17
  318. endoreg_db/serializers/center.py +11 -11
  319. endoreg_db/serializers/examination.py +32 -32
  320. endoreg_db/serializers/frame.py +13 -13
  321. endoreg_db/serializers/hardware.py +20 -20
  322. endoreg_db/serializers/label.py +22 -22
  323. endoreg_db/serializers/patient.py +10 -10
  324. endoreg_db/serializers/prediction.py +15 -15
  325. endoreg_db/serializers/report_file.py +7 -7
  326. endoreg_db/serializers/video.py +27 -27
  327. endoreg_db/tests.py +3 -3
  328. endoreg_db/utils/cropping.py +28 -28
  329. endoreg_db/utils/dataloader.py +92 -92
  330. endoreg_db/utils/file_operations.py +30 -30
  331. endoreg_db/utils/hashs.py +33 -33
  332. endoreg_db/utils/legacy_ocr.py +201 -201
  333. endoreg_db/utils/ocr.py +197 -197
  334. endoreg_db/utils/uuid.py +4 -4
  335. endoreg_db/utils/video_metadata.py +87 -87
  336. endoreg_db/views.py +3 -3
  337. {endoreg_db-0.3.5.dist-info → endoreg_db-0.3.6.dist-info}/LICENSE +674 -674
  338. {endoreg_db-0.3.5.dist-info → endoreg_db-0.3.6.dist-info}/METADATA +2 -2
  339. endoreg_db-0.3.6.dist-info/RECORD +357 -0
  340. {endoreg_db-0.3.5.dist-info → endoreg_db-0.3.6.dist-info}/WHEEL +1 -1
  341. endoreg_db-0.3.5.dist-info/RECORD +0 -357
@@ -1,28 +1,28 @@
1
- from django.db import models
2
-
3
- class PatientMedicationSchedule(models.Model):
4
- patient = models.ForeignKey("Patient", on_delete= models.CASCADE)
5
- medication = models.ManyToManyField(
6
- 'PatientMedication', related_name='patient_medication_schedules'
7
- )
8
-
9
- created_at = models.DateTimeField(auto_now_add=True)
10
- updated_at = models.DateTimeField(auto_now=True)
11
-
12
- def __str__(self):
13
- return f'{self.patient} - {self.medication.all()}'
14
-
15
- @classmethod
16
- def create_by_patient_and_indication_type(cls, patient, indication_type):
17
- from endoreg_db.models import MedicationIndicationType, PatientMedication
18
-
19
- medication_indication = MedicationIndicationType.get_random_indication_by_type(name=indication_type)
20
-
21
- patient_medication_schedule = cls.objects.create(patient=patient)
22
- patient_medication_schedule.save()
23
-
24
- patient_medication = PatientMedication.create_by_patient_and_indication(patient, medication_indication)
25
- patient_medication_schedule.medication.add(patient_medication)
26
- patient_medication_schedule.save()
27
-
1
+ from django.db import models
2
+
3
+ class PatientMedicationSchedule(models.Model):
4
+ patient = models.ForeignKey("Patient", on_delete= models.CASCADE)
5
+ medication = models.ManyToManyField(
6
+ 'PatientMedication', related_name='patient_medication_schedules'
7
+ )
8
+
9
+ created_at = models.DateTimeField(auto_now_add=True)
10
+ updated_at = models.DateTimeField(auto_now=True)
11
+
12
+ def __str__(self):
13
+ return f'{self.patient} - {self.medication.all()}'
14
+
15
+ @classmethod
16
+ def create_by_patient_and_indication_type(cls, patient, indication_type):
17
+ from endoreg_db.models import MedicationIndicationType, PatientMedication
18
+
19
+ medication_indication = MedicationIndicationType.get_random_indication_by_type(name=indication_type)
20
+
21
+ patient_medication_schedule = cls.objects.create(patient=patient)
22
+ patient_medication_schedule.save()
23
+
24
+ patient_medication = PatientMedication.create_by_patient_and_indication(patient, medication_indication)
25
+ patient_medication_schedule.medication.add(patient_medication)
26
+ patient_medication_schedule.save()
27
+
28
28
  return patient_medication_schedule
@@ -1,31 +1,31 @@
1
- from abc import abstractmethod
2
- from django.db import models
3
-
4
- class Person(models.Model):
5
- """
6
- Abstract base class for a person.
7
-
8
- Attributes:
9
- first_name (str): The first name of the person.
10
- last_name (str): The last name of the person.
11
- dob (date): The date of birth of the person.
12
- gender (str): The gender of the person.
13
- email (str): The email address of the person.
14
- phone (str): The phone number of the person.
15
- """
16
-
17
- first_name = models.CharField(max_length=255)
18
- last_name = models.CharField(max_length=255)
19
- dob = models.DateField("Date of Birth", blank=True, null=True)
20
- gender = models.ForeignKey("Gender", on_delete=models.SET_NULL, null=True)
21
- email = models.EmailField(max_length=255, blank=True, null=True)
22
- phone = models.CharField(max_length=255, blank=True, null=True)
23
- is_real_person = models.BooleanField(default=True)
24
-
25
- @abstractmethod
26
- def __str__(self):
27
- pass
28
-
29
- class Meta:
30
- abstract = True
31
-
1
+ from abc import abstractmethod
2
+ from django.db import models
3
+
4
+ class Person(models.Model):
5
+ """
6
+ Abstract base class for a person.
7
+
8
+ Attributes:
9
+ first_name (str): The first name of the person.
10
+ last_name (str): The last name of the person.
11
+ dob (date): The date of birth of the person.
12
+ gender (str): The gender of the person.
13
+ email (str): The email address of the person.
14
+ phone (str): The phone number of the person.
15
+ """
16
+
17
+ first_name = models.CharField(max_length=255)
18
+ last_name = models.CharField(max_length=255)
19
+ dob = models.DateField("Date of Birth", blank=True, null=True)
20
+ gender = models.ForeignKey("Gender", on_delete=models.SET_NULL, null=True)
21
+ email = models.EmailField(max_length=255, blank=True, null=True)
22
+ phone = models.CharField(max_length=255, blank=True, null=True)
23
+ is_real_person = models.BooleanField(default=True)
24
+
25
+ @abstractmethod
26
+ def __str__(self):
27
+ pass
28
+
29
+ class Meta:
30
+ abstract = True
31
+
@@ -1,27 +1,27 @@
1
- from django.db import models
2
-
3
- # models.py in your main app
4
- from django.contrib.auth.models import User
5
-
6
- class ProfessionManager(models.Manager):
7
- def get_by_natural_key(self, name):
8
- return self.get(name=name)
9
-
10
- class Profession(models.Model):
11
- objects = ProfessionManager()
12
- name = models.CharField(max_length=100)
13
- name_de = models.CharField(max_length=100, blank=True, null=True)
14
- name_en = models.CharField(max_length=100, blank=True, null=True)
15
- description = models.TextField(blank=True, null=True)
16
-
17
- def __str__(self):
18
- return self.name_de
19
-
20
- class PortalUserInfo(models.Model):
21
- user = models.OneToOneField(User, on_delete=models.CASCADE)
22
- profession = models.ForeignKey('Profession', on_delete=models.CASCADE, blank=True, null=True)
23
- works_in_endoscopy = models.BooleanField(blank=True, null=True)
24
- # Add other fields as needed
25
-
26
- def __str__(self):
27
- return self.user.username
1
+ from django.db import models
2
+
3
+ # models.py in your main app
4
+ from django.contrib.auth.models import User
5
+
6
+ class ProfessionManager(models.Manager):
7
+ def get_by_natural_key(self, name):
8
+ return self.get(name=name)
9
+
10
+ class Profession(models.Model):
11
+ objects = ProfessionManager()
12
+ name = models.CharField(max_length=100)
13
+ name_de = models.CharField(max_length=100, blank=True, null=True)
14
+ name_en = models.CharField(max_length=100, blank=True, null=True)
15
+ description = models.TextField(blank=True, null=True)
16
+
17
+ def __str__(self):
18
+ return self.name_de
19
+
20
+ class PortalUserInfo(models.Model):
21
+ user = models.OneToOneField(User, on_delete=models.CASCADE)
22
+ profession = models.ForeignKey('Profession', on_delete=models.CASCADE, blank=True, null=True)
23
+ works_in_endoscopy = models.BooleanField(blank=True, null=True)
24
+ # Add other fields as needed
25
+
26
+ def __str__(self):
27
+ return self.user.username
@@ -1,2 +1,2 @@
1
- from .image_classification import ImageClassificationPrediction
1
+ from .image_classification import ImageClassificationPrediction
2
2
  from .video_prediction_meta import LegacyVideoPredictionMeta, VideoPredictionMeta
@@ -1,37 +1,37 @@
1
- from django.db import models
2
-
3
- class ImageClassificationPrediction(models.Model):
4
- """
5
- A class representing an image classification prediction.
6
-
7
- Attributes:
8
- label (Label): The label of the prediction.
9
- frame (Frame): The frame of the prediction.
10
- confidence (float): The confidence of the prediction.
11
- date_created (datetime): The date the prediction was created.
12
-
13
- """
14
- label = models.ForeignKey("Label", on_delete=models.CASCADE, related_name="image_classification_predictions")
15
- frame = models.ForeignKey("Frame", on_delete=models.CASCADE, blank=True, null=True, related_name="image_classification_predictions")
16
- legacy_frame = models.ForeignKey("LegacyFrame", on_delete=models.CASCADE, blank=True, null=True, related_name="image_classification_predictions")
17
- legacy_image = models.ForeignKey("LegacyImage", on_delete=models.CASCADE, blank=True, null=True, related_name="image_classification_predictions")
18
- value = models.BooleanField()
19
- confidence = models.FloatField()
20
- model_meta = models.ForeignKey("ModelMeta", on_delete=models.CASCADE, related_name="image_classification_predictions")
21
- date_created = models.DateTimeField(auto_now_add=True)
22
-
23
- class Meta:
24
- unique_together = ('label', 'frame', 'model_meta')
25
-
26
- def get_image_object(self):
27
- """
28
- Get the image of the prediction.
29
- """
30
- if self.frame:
31
- return self.frame
32
- elif self.legacy_frame:
33
- return self.legacy_frame
34
- elif self.legacy_image:
35
- return self.legacy_image
36
- else:
37
- return None
1
+ from django.db import models
2
+
3
+ class ImageClassificationPrediction(models.Model):
4
+ """
5
+ A class representing an image classification prediction.
6
+
7
+ Attributes:
8
+ label (Label): The label of the prediction.
9
+ frame (Frame): The frame of the prediction.
10
+ confidence (float): The confidence of the prediction.
11
+ date_created (datetime): The date the prediction was created.
12
+
13
+ """
14
+ label = models.ForeignKey("Label", on_delete=models.CASCADE, related_name="image_classification_predictions")
15
+ frame = models.ForeignKey("Frame", on_delete=models.CASCADE, blank=True, null=True, related_name="image_classification_predictions")
16
+ legacy_frame = models.ForeignKey("LegacyFrame", on_delete=models.CASCADE, blank=True, null=True, related_name="image_classification_predictions")
17
+ legacy_image = models.ForeignKey("LegacyImage", on_delete=models.CASCADE, blank=True, null=True, related_name="image_classification_predictions")
18
+ value = models.BooleanField()
19
+ confidence = models.FloatField()
20
+ model_meta = models.ForeignKey("ModelMeta", on_delete=models.CASCADE, related_name="image_classification_predictions")
21
+ date_created = models.DateTimeField(auto_now_add=True)
22
+
23
+ class Meta:
24
+ unique_together = ('label', 'frame', 'model_meta')
25
+
26
+ def get_image_object(self):
27
+ """
28
+ Get the image of the prediction.
29
+ """
30
+ if self.frame:
31
+ return self.frame
32
+ elif self.legacy_frame:
33
+ return self.legacy_frame
34
+ elif self.legacy_image:
35
+ return self.legacy_image
36
+ else:
37
+ return None