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,24 +1,24 @@
1
- from django.db import models
2
-
3
- class ExaminationTimeTypeManager(models.Manager):
4
- def get_by_natural_key(self, name):
5
- return self.get(name=name)
6
-
7
- class ExaminationTimeType(models.Model):
8
- objects = ExaminationTimeTypeManager()
9
- name = models.CharField(max_length=100, unique=True)
10
- name_de = models.CharField(max_length=100, blank=True, null=True)
11
- name_en = models.CharField(max_length=100, blank=True, null=True)
12
- examinations = models.ManyToManyField('Examination', blank=True)
13
-
14
- def __str__(self):
15
- return self.name
16
-
17
- def natural_key(self):
18
- return (self.name,)
19
-
20
- class Meta:
21
- verbose_name = 'Examination Time Type'
22
- verbose_name_plural = 'Examination Time Types'
23
- ordering = ['name']
24
-
1
+ from django.db import models
2
+
3
+ class ExaminationTimeTypeManager(models.Manager):
4
+ def get_by_natural_key(self, name):
5
+ return self.get(name=name)
6
+
7
+ class ExaminationTimeType(models.Model):
8
+ objects = ExaminationTimeTypeManager()
9
+ name = models.CharField(max_length=100, unique=True)
10
+ name_de = models.CharField(max_length=100, blank=True, null=True)
11
+ name_en = models.CharField(max_length=100, blank=True, null=True)
12
+ examinations = models.ManyToManyField('Examination', blank=True)
13
+
14
+ def __str__(self):
15
+ return self.name
16
+
17
+ def natural_key(self):
18
+ return (self.name,)
19
+
20
+ class Meta:
21
+ verbose_name = 'Examination Time Type'
22
+ verbose_name_plural = 'Examination Time Types'
23
+ ordering = ['name']
24
+
@@ -1,18 +1,18 @@
1
- from django.db import models
2
-
3
- class ExaminationTypeManager(models.Manager):
4
- def get_by_natural_key(self, name):
5
- return self.get(name=name)
6
-
7
- class ExaminationType(models.Model):
8
- objects = ExaminationTypeManager()
9
- name = models.CharField(max_length=100, unique=True)
10
- name_de = models.CharField(max_length=100, blank=True, null=True)
11
- name_en = models.CharField(max_length=100, blank=True, null=True)
12
-
13
- def __str__(self):
14
- return self.name_en
15
-
16
- def natural_key(self):
17
- return (self.name,)
18
-
1
+ from django.db import models
2
+
3
+ class ExaminationTypeManager(models.Manager):
4
+ def get_by_natural_key(self, name):
5
+ return self.get(name=name)
6
+
7
+ class ExaminationType(models.Model):
8
+ objects = ExaminationTypeManager()
9
+ name = models.CharField(max_length=100, unique=True)
10
+ name_de = models.CharField(max_length=100, blank=True, null=True)
11
+ name_en = models.CharField(max_length=100, blank=True, null=True)
12
+
13
+ def __str__(self):
14
+ return self.name_en
15
+
16
+ def natural_key(self):
17
+ return (self.name,)
18
+
@@ -1,2 +1,2 @@
1
- from .endoscopy_processor import EndoscopyProcessor
1
+ from .endoscopy_processor import EndoscopyProcessor
2
2
  from .endoscope import Endoscope, EndoscopeType
@@ -1,44 +1,44 @@
1
- from django.db import models
2
-
3
- class EndoscopeManager(models.Manager):
4
- def get_by_natural_key(self, name, sn):
5
- return self.get(name=name, sn=sn)
6
-
7
- class Endoscope(models.Model):
8
- objects = EndoscopeManager()
9
-
10
- name = models.CharField(max_length=255)
11
- sn = models.CharField(max_length=255)
12
-
13
- def natural_key(self):
14
- return (self.name, self.sn)
15
-
16
- def __str__(self):
17
- return self.name
18
-
19
- class Meta:
20
- ordering = ['name']
21
- verbose_name = 'Endoscope'
22
- verbose_name_plural = 'Endoscopes'
23
-
24
- class EndoscopeTypeManager(models.Manager):
25
- def get_by_natural_key(self, name):
26
- return self.get(name=name)
27
-
28
- class EndoscopeType(models.Model):
29
- objects = EndoscopeTypeManager()
30
-
31
- name = models.CharField(max_length=255)
32
- name_de = models.CharField(max_length=255, blank=True, null=True)
33
- name_en = models.CharField(max_length=255, blank=True, null=True)
34
-
35
- def natural_key(self):
36
- return (self.name,)
37
-
38
- def __str__(self):
39
- return self.name
40
-
41
- class Meta:
42
- ordering = ['name']
43
- verbose_name = 'Endoscope Type'
44
- verbose_name_plural = 'Endoscope Types'
1
+ from django.db import models
2
+
3
+ class EndoscopeManager(models.Manager):
4
+ def get_by_natural_key(self, name, sn):
5
+ return self.get(name=name, sn=sn)
6
+
7
+ class Endoscope(models.Model):
8
+ objects = EndoscopeManager()
9
+
10
+ name = models.CharField(max_length=255)
11
+ sn = models.CharField(max_length=255)
12
+
13
+ def natural_key(self):
14
+ return (self.name, self.sn)
15
+
16
+ def __str__(self):
17
+ return self.name
18
+
19
+ class Meta:
20
+ ordering = ['name']
21
+ verbose_name = 'Endoscope'
22
+ verbose_name_plural = 'Endoscopes'
23
+
24
+ class EndoscopeTypeManager(models.Manager):
25
+ def get_by_natural_key(self, name):
26
+ return self.get(name=name)
27
+
28
+ class EndoscopeType(models.Model):
29
+ objects = EndoscopeTypeManager()
30
+
31
+ name = models.CharField(max_length=255)
32
+ name_de = models.CharField(max_length=255, blank=True, null=True)
33
+ name_en = models.CharField(max_length=255, blank=True, null=True)
34
+
35
+ def natural_key(self):
36
+ return (self.name,)
37
+
38
+ def __str__(self):
39
+ return self.name
40
+
41
+ class Meta:
42
+ ordering = ['name']
43
+ verbose_name = 'Endoscope Type'
44
+ verbose_name_plural = 'Endoscope Types'
@@ -1,143 +1,143 @@
1
- from django.db import models
2
-
3
- class EndoscopyProcessorManager(models.Manager):
4
- def get_by_natural_key(self, name):
5
- return self.get(name=name)
6
-
7
- class EndoscopyProcessor(models.Model):
8
- objects = EndoscopyProcessorManager()
9
-
10
- name = models.CharField(max_length=255)
11
- image_width = models.IntegerField()
12
- image_height = models.IntegerField()
13
- # image_fps = models.IntegerField()
14
-
15
- # Roi for endoscope image
16
- endoscope_image_x = models.IntegerField()
17
- endoscope_image_y = models.IntegerField()
18
- endoscope_image_width = models.IntegerField()
19
- endoscope_image_height = models.IntegerField()
20
-
21
- # Roi for examination date
22
- examination_date_x = models.IntegerField()
23
- examination_date_y = models.IntegerField()
24
- examination_date_width = models.IntegerField()
25
- examination_date_height = models.IntegerField()
26
-
27
- # Roi for examination time
28
- examination_time_x = models.IntegerField(blank=True, null=True)
29
- examination_time_y = models.IntegerField(blank=True, null=True)
30
- examination_time_width = models.IntegerField(blank=True, null=True)
31
- examination_time_height = models.IntegerField(blank=True, null=True)
32
-
33
- # Roi for patient first name
34
- patient_first_name_x = models.IntegerField()
35
- patient_first_name_y = models.IntegerField()
36
- patient_first_name_width = models.IntegerField()
37
- patient_first_name_height = models.IntegerField()
38
-
39
- # Roi for patient name
40
- patient_last_name_x = models.IntegerField()
41
- patient_last_name_y = models.IntegerField()
42
- patient_last_name_width = models.IntegerField()
43
- patient_last_name_height = models.IntegerField()
44
-
45
- # Roi for patient dob
46
- patient_dob_x = models.IntegerField()
47
- patient_dob_y = models.IntegerField()
48
- patient_dob_width = models.IntegerField()
49
- patient_dob_height = models.IntegerField()
50
-
51
- # Roi for endoscope type
52
- endoscope_type_x = models.IntegerField(blank=True, null=True)
53
- endoscope_type_y = models.IntegerField(blank=True, null=True)
54
- endoscope_type_width = models.IntegerField(blank=True, null=True)
55
- endoscope_type_height = models.IntegerField(blank=True, null=True)
56
-
57
- # Roi for endoscopy sn
58
- endoscope_sn_x = models.IntegerField(blank=True, null=True)
59
- endoscope_sn_y = models.IntegerField(blank=True, null=True)
60
- endoscope_sn_width = models.IntegerField(blank=True, null=True)
61
- endoscope_sn_height = models.IntegerField(blank=True, null=True)
62
-
63
- def natural_key(self):
64
- return (self.name,)
65
-
66
- def __str__(self):
67
- return self.name
68
-
69
- def get_roi_endoscope_image(self):
70
- return {
71
- "x": self.endoscope_image_x,
72
- "y": self.endoscope_image_y,
73
- "width": self.endoscope_image_width,
74
- "height": self.endoscope_image_height
75
- }
76
-
77
- def get_roi_examination_date(self):
78
- return {
79
- "x": self.examination_date_x,
80
- "y": self.examination_date_y,
81
- "width": self.examination_date_width,
82
- "height": self.examination_date_height
83
- }
84
-
85
- def get_roi_examination_time(self):
86
- return {
87
- "x": self.examination_time_x,
88
- "y": self.examination_time_y,
89
- "width": self.examination_time_width,
90
- "height": self.examination_time_height
91
- }
92
-
93
- def get_roi_patient_last_name(self):
94
- return {
95
- "x": self.patient_last_name_x,
96
- "y": self.patient_last_name_y,
97
- "width": self.patient_last_name_width,
98
- "height": self.patient_last_name_height
99
- }
100
-
101
- def get_roi_patient_first_name(self):
102
- return {
103
- "x": self.patient_first_name_x,
104
- "y": self.patient_first_name_y,
105
- "width": self.patient_first_name_width,
106
- "height": self.patient_first_name_height
107
- }
108
-
109
- def get_roi_patient_dob(self):
110
- return {
111
- "x": self.patient_dob_x,
112
- "y": self.patient_dob_y,
113
- "width": self.patient_dob_width,
114
- "height": self.patient_dob_height
115
- }
116
-
117
- def get_roi_endoscope_type(self):
118
- return {
119
- "x": self.endoscope_type_x,
120
- "y": self.endoscope_type_y,
121
- "width": self.endoscope_type_width,
122
- "height": self.endoscope_type_height
123
- }
124
-
125
- def get_roi_endoscopy_sn(self):
126
- return {
127
- "x": self.endoscope_sn_x,
128
- "y": self.endoscope_sn_y,
129
- "width": self.endoscope_sn_width,
130
- "height": self.endoscope_sn_height
131
- }
132
-
133
- def get_rois(self):
134
- return {
135
- "endoscope_image": self.get_roi_endoscope_image(),
136
- "examination_date": self.get_roi_examination_date(),
137
- "examination_time": self.get_roi_examination_time(),
138
- "patient_first_name": self.get_roi_patient_first_name(),
139
- "patient_last_name": self.get_roi_patient_last_name(),
140
- "patient_dob": self.get_roi_patient_dob(),
141
- "endoscope_type": self.get_roi_endoscope_type(),
142
- "endoscope_sn": self.get_roi_endoscopy_sn()
143
- }
1
+ from django.db import models
2
+
3
+ class EndoscopyProcessorManager(models.Manager):
4
+ def get_by_natural_key(self, name):
5
+ return self.get(name=name)
6
+
7
+ class EndoscopyProcessor(models.Model):
8
+ objects = EndoscopyProcessorManager()
9
+
10
+ name = models.CharField(max_length=255)
11
+ image_width = models.IntegerField()
12
+ image_height = models.IntegerField()
13
+ # image_fps = models.IntegerField()
14
+
15
+ # Roi for endoscope image
16
+ endoscope_image_x = models.IntegerField()
17
+ endoscope_image_y = models.IntegerField()
18
+ endoscope_image_width = models.IntegerField()
19
+ endoscope_image_height = models.IntegerField()
20
+
21
+ # Roi for examination date
22
+ examination_date_x = models.IntegerField()
23
+ examination_date_y = models.IntegerField()
24
+ examination_date_width = models.IntegerField()
25
+ examination_date_height = models.IntegerField()
26
+
27
+ # Roi for examination time
28
+ examination_time_x = models.IntegerField(blank=True, null=True)
29
+ examination_time_y = models.IntegerField(blank=True, null=True)
30
+ examination_time_width = models.IntegerField(blank=True, null=True)
31
+ examination_time_height = models.IntegerField(blank=True, null=True)
32
+
33
+ # Roi for patient first name
34
+ patient_first_name_x = models.IntegerField()
35
+ patient_first_name_y = models.IntegerField()
36
+ patient_first_name_width = models.IntegerField()
37
+ patient_first_name_height = models.IntegerField()
38
+
39
+ # Roi for patient name
40
+ patient_last_name_x = models.IntegerField()
41
+ patient_last_name_y = models.IntegerField()
42
+ patient_last_name_width = models.IntegerField()
43
+ patient_last_name_height = models.IntegerField()
44
+
45
+ # Roi for patient dob
46
+ patient_dob_x = models.IntegerField()
47
+ patient_dob_y = models.IntegerField()
48
+ patient_dob_width = models.IntegerField()
49
+ patient_dob_height = models.IntegerField()
50
+
51
+ # Roi for endoscope type
52
+ endoscope_type_x = models.IntegerField(blank=True, null=True)
53
+ endoscope_type_y = models.IntegerField(blank=True, null=True)
54
+ endoscope_type_width = models.IntegerField(blank=True, null=True)
55
+ endoscope_type_height = models.IntegerField(blank=True, null=True)
56
+
57
+ # Roi for endoscopy sn
58
+ endoscope_sn_x = models.IntegerField(blank=True, null=True)
59
+ endoscope_sn_y = models.IntegerField(blank=True, null=True)
60
+ endoscope_sn_width = models.IntegerField(blank=True, null=True)
61
+ endoscope_sn_height = models.IntegerField(blank=True, null=True)
62
+
63
+ def natural_key(self):
64
+ return (self.name,)
65
+
66
+ def __str__(self):
67
+ return self.name
68
+
69
+ def get_roi_endoscope_image(self):
70
+ return {
71
+ "x": self.endoscope_image_x,
72
+ "y": self.endoscope_image_y,
73
+ "width": self.endoscope_image_width,
74
+ "height": self.endoscope_image_height
75
+ }
76
+
77
+ def get_roi_examination_date(self):
78
+ return {
79
+ "x": self.examination_date_x,
80
+ "y": self.examination_date_y,
81
+ "width": self.examination_date_width,
82
+ "height": self.examination_date_height
83
+ }
84
+
85
+ def get_roi_examination_time(self):
86
+ return {
87
+ "x": self.examination_time_x,
88
+ "y": self.examination_time_y,
89
+ "width": self.examination_time_width,
90
+ "height": self.examination_time_height
91
+ }
92
+
93
+ def get_roi_patient_last_name(self):
94
+ return {
95
+ "x": self.patient_last_name_x,
96
+ "y": self.patient_last_name_y,
97
+ "width": self.patient_last_name_width,
98
+ "height": self.patient_last_name_height
99
+ }
100
+
101
+ def get_roi_patient_first_name(self):
102
+ return {
103
+ "x": self.patient_first_name_x,
104
+ "y": self.patient_first_name_y,
105
+ "width": self.patient_first_name_width,
106
+ "height": self.patient_first_name_height
107
+ }
108
+
109
+ def get_roi_patient_dob(self):
110
+ return {
111
+ "x": self.patient_dob_x,
112
+ "y": self.patient_dob_y,
113
+ "width": self.patient_dob_width,
114
+ "height": self.patient_dob_height
115
+ }
116
+
117
+ def get_roi_endoscope_type(self):
118
+ return {
119
+ "x": self.endoscope_type_x,
120
+ "y": self.endoscope_type_y,
121
+ "width": self.endoscope_type_width,
122
+ "height": self.endoscope_type_height
123
+ }
124
+
125
+ def get_roi_endoscopy_sn(self):
126
+ return {
127
+ "x": self.endoscope_sn_x,
128
+ "y": self.endoscope_sn_y,
129
+ "width": self.endoscope_sn_width,
130
+ "height": self.endoscope_sn_height
131
+ }
132
+
133
+ def get_rois(self):
134
+ return {
135
+ "endoscope_image": self.get_roi_endoscope_image(),
136
+ "examination_date": self.get_roi_examination_date(),
137
+ "examination_time": self.get_roi_examination_time(),
138
+ "patient_first_name": self.get_roi_patient_first_name(),
139
+ "patient_last_name": self.get_roi_patient_last_name(),
140
+ "patient_dob": self.get_roi_patient_dob(),
141
+ "endoscope_type": self.get_roi_endoscope_type(),
142
+ "endoscope_sn": self.get_roi_endoscopy_sn()
143
+ }
@@ -1,29 +1,29 @@
1
- from django.db import models
2
-
3
- def get_prediction_information_source():
4
- _source = InformationSource.objects.get(name="prediction")
5
-
6
- # make sure to return only one object
7
- assert _source, "No prediction information source found"
8
- return _source
9
-
10
- class InformationSourceManager(models.Manager):
11
- def get_by_natural_key(self, name):
12
- return self.get(name=name)
13
-
14
- class InformationSource(models.Model):
15
- objects = InformationSourceManager()
16
-
17
- name = models.CharField(max_length=100)
18
- name_de = models.CharField(max_length=100, blank=True, null=True)
19
- name_en = models.CharField(max_length=100, blank=True, null=True)
20
-
21
- url = models.URLField(blank=True, null=True)
22
- description = models.TextField(blank=True, null=True)
23
- date = models.DateField(blank=True, null=True)
24
-
25
- def natural_key(self):
26
- return (self.name,)
27
-
28
- def __str__(self):
29
- return self.name
1
+ from django.db import models
2
+
3
+ def get_prediction_information_source():
4
+ _source = InformationSource.objects.get(name="prediction")
5
+
6
+ # make sure to return only one object
7
+ assert _source, "No prediction information source found"
8
+ return _source
9
+
10
+ class InformationSourceManager(models.Manager):
11
+ def get_by_natural_key(self, name):
12
+ return self.get(name=name)
13
+
14
+ class InformationSource(models.Model):
15
+ objects = InformationSourceManager()
16
+
17
+ name = models.CharField(max_length=100)
18
+ name_de = models.CharField(max_length=100, blank=True, null=True)
19
+ name_en = models.CharField(max_length=100, blank=True, null=True)
20
+
21
+ url = models.URLField(blank=True, null=True)
22
+ description = models.TextField(blank=True, null=True)
23
+ date = models.DateField(blank=True, null=True)
24
+
25
+ def natural_key(self):
26
+ return (self.name,)
27
+
28
+ def __str__(self):
29
+ return self.name