endoreg-db 0.3.6__py3-none-any.whl → 0.3.8__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (351) hide show
  1. endoreg_db/admin.py +3 -3
  2. endoreg_db/apps.py +6 -6
  3. endoreg_db/data/__init__.py +67 -64
  4. endoreg_db/data/active_model/data.yaml +2 -2
  5. endoreg_db/data/case_template/rule/00_patient_lab_sample_add_default_value.yaml +167 -167
  6. endoreg_db/data/case_template/rule/01_patient-set-age.yaml +7 -7
  7. endoreg_db/data/case_template/rule/01_patient-set-gender.yaml +8 -8
  8. endoreg_db/data/case_template/rule/11_create_patient_lab_sample.yaml +22 -22
  9. endoreg_db/data/case_template/rule/12_create-patient_medication-anticoagulation.yaml +18 -18
  10. endoreg_db/data/case_template/rule/13_create-patient_medication_schedule-anticoagulation.yaml +18 -18
  11. endoreg_db/data/case_template/rule/19_create_patient.yaml +16 -16
  12. endoreg_db/data/case_template/rule_type/base_types.yaml +35 -35
  13. endoreg_db/data/case_template/rule_value/.init +0 -0
  14. endoreg_db/data/case_template/rule_value_type/base_types.yaml +58 -58
  15. endoreg_db/data/case_template/template/base.yaml +7 -7
  16. endoreg_db/data/case_template/template_type/pre_endoscopy.yaml +2 -2
  17. endoreg_db/data/case_template/tmp/_rule_value +13 -13
  18. endoreg_db/data/case_template/tmp/rule/01_atrial_fibrillation.yaml +21 -21
  19. endoreg_db/data/case_template/tmp/rule/02_create_object.yaml +9 -9
  20. endoreg_db/data/case_template/tmp/template/atrial_fibrillation_low_risk.yaml +6 -6
  21. endoreg_db/data/center/data.yaml +59 -59
  22. endoreg_db/data/center_resource/green_endoscopy_dashboard_CenterResource.yaml +144 -144
  23. endoreg_db/data/center_waste/green_endoscopy_dashboard_CenterWaste.yaml +48 -48
  24. endoreg_db/data/disease/cardiovascular.yaml +37 -37
  25. endoreg_db/data/disease/hepatology.yaml +4 -4
  26. endoreg_db/data/disease/misc.yaml +5 -5
  27. endoreg_db/data/disease/renal.yaml +4 -4
  28. endoreg_db/data/disease_classification/chronic_kidney_disease.yaml +5 -5
  29. endoreg_db/data/disease_classification/coronary_vessel_disease.yaml +5 -5
  30. endoreg_db/data/disease_classification_choice/chronic_kidney_disease.yaml +40 -40
  31. endoreg_db/data/disease_classification_choice/coronary_vessel_disease.yaml +19 -19
  32. endoreg_db/data/distribution/date/patient.yaml +6 -6
  33. endoreg_db/data/distribution/multiple_categorical/.init +0 -0
  34. endoreg_db/data/distribution/numeric/.init +0 -0
  35. endoreg_db/data/distribution/single_categorical/patient.yaml +6 -6
  36. endoreg_db/data/emission_factor/green_endoscopy_dashboard_EmissionFactor.yaml +132 -132
  37. endoreg_db/data/endoscope_type/data.yaml +10 -10
  38. endoreg_db/data/endoscopy_processor/data.yaml +45 -45
  39. endoreg_db/data/event/cardiology.yaml +27 -27
  40. endoreg_db/data/event/neurology.yaml +13 -13
  41. endoreg_db/data/event/surgery.yaml +12 -12
  42. endoreg_db/data/event/thrombembolism.yaml +19 -19
  43. endoreg_db/data/examination/examinations/data.yaml +65 -65
  44. endoreg_db/data/examination/time/data.yaml +47 -47
  45. endoreg_db/data/examination/time-type/data.yaml +7 -7
  46. endoreg_db/data/examination/type/data.yaml +5 -5
  47. endoreg_db/data/gender/data.yaml +18 -18
  48. endoreg_db/data/information_source/data.yaml +30 -30
  49. endoreg_db/data/information_source/medication.yaml +5 -5
  50. endoreg_db/data/lab_value/cardiac_enzymes.yaml +30 -30
  51. endoreg_db/data/lab_value/coagulation.yaml +48 -48
  52. endoreg_db/data/lab_value/electrolytes.yaml +189 -189
  53. endoreg_db/data/lab_value/gastrointestinal_function.yaml +121 -121
  54. endoreg_db/data/lab_value/hematology.yaml +169 -169
  55. endoreg_db/data/lab_value/hormones.yaml +53 -53
  56. endoreg_db/data/lab_value/lipids.yaml +44 -44
  57. endoreg_db/data/lab_value/misc.yaml +30 -30
  58. endoreg_db/data/lab_value/renal_function.yaml +10 -10
  59. endoreg_db/data/label/label/data.yaml +62 -62
  60. endoreg_db/data/label/label-set/data.yaml +17 -17
  61. endoreg_db/data/label/label-type/data.yaml +6 -6
  62. endoreg_db/data/medication/anticoagulation.yaml +64 -64
  63. endoreg_db/data/medication/tah.yaml +69 -69
  64. endoreg_db/data/medication_indication/anticoagulation.yaml +120 -120
  65. endoreg_db/data/medication_indication_type/data.yaml +10 -10
  66. endoreg_db/data/medication_indication_type/thrombembolism.yaml +40 -40
  67. endoreg_db/data/medication_intake_time/base.yaml +30 -30
  68. endoreg_db/data/medication_schedule/apixaban.yaml +94 -94
  69. endoreg_db/data/medication_schedule/ass.yaml +12 -12
  70. endoreg_db/data/medication_schedule/enoxaparin.yaml +26 -26
  71. endoreg_db/data/model_type/data.yaml +6 -6
  72. endoreg_db/data/network_device/data.yaml +17 -0
  73. endoreg_db/data/network_device_type/data.yaml +8 -0
  74. endoreg_db/data/patient_lab_sample_type/generic.yaml +5 -5
  75. endoreg_db/data/pdf_type/data.yaml +28 -28
  76. endoreg_db/data/product/green_endoscopy_dashboard_Product.yaml +66 -66
  77. endoreg_db/data/product_group/green_endoscopy_dashboard_ProductGroup.yaml +33 -33
  78. endoreg_db/data/product_material/green_endoscopy_dashboard_ProductMaterial.yaml +308 -308
  79. endoreg_db/data/product_weight/green_endoscopy_dashboard_ProductWeight.yaml +88 -88
  80. endoreg_db/data/profession/data.yaml +70 -70
  81. endoreg_db/data/reference_product/green_endoscopy_dashboard_ReferenceProduct.yaml +55 -55
  82. endoreg_db/data/report_reader_flag/ukw-examination-generic.yaml +26 -26
  83. endoreg_db/data/report_reader_flag/ukw-histology-generic.yaml +19 -19
  84. endoreg_db/data/resource/green_endoscopy_dashboard_Resource.yaml +15 -15
  85. endoreg_db/data/transport_route/green_endoscopy_dashboard_TransportRoute.yaml +12 -12
  86. endoreg_db/data/unit/concentration.yaml +92 -92
  87. endoreg_db/data/unit/data.yaml +17 -17
  88. endoreg_db/data/unit/length.yaml +30 -30
  89. endoreg_db/data/unit/misc.yaml +19 -19
  90. endoreg_db/data/unit/rate.yaml +5 -5
  91. endoreg_db/data/unit/time.yaml +12 -12
  92. endoreg_db/data/unit/volume.yaml +35 -35
  93. endoreg_db/data/unit/weight.yaml +37 -37
  94. endoreg_db/data/waste/data.yaml +11 -11
  95. endoreg_db/forms/__init__.py +2 -2
  96. endoreg_db/forms/questionnaires/tto_questionnaire.py +23 -23
  97. endoreg_db/forms/settings/__init__.py +8 -8
  98. endoreg_db/forms/unit.py +5 -5
  99. endoreg_db/management/commands/_load_model_template.py +40 -40
  100. endoreg_db/management/commands/delete_all.py +18 -18
  101. endoreg_db/management/commands/delete_legacy_images.py +19 -19
  102. endoreg_db/management/commands/delete_legacy_videos.py +16 -16
  103. endoreg_db/management/commands/extract_legacy_video_frames.py +18 -18
  104. endoreg_db/management/commands/fetch_legacy_image_dataset.py +32 -32
  105. endoreg_db/management/commands/fix_auth_permission.py +20 -20
  106. endoreg_db/management/commands/import_legacy_images.py +94 -94
  107. endoreg_db/management/commands/import_legacy_videos.py +76 -76
  108. endoreg_db/management/commands/load_active_model_data.py +44 -44
  109. endoreg_db/management/commands/load_ai_model_data.py +44 -44
  110. endoreg_db/management/commands/load_base_db_data.py +132 -128
  111. endoreg_db/management/commands/load_center_data.py +42 -42
  112. endoreg_db/management/commands/load_disease_classification_choices_data.py +40 -40
  113. endoreg_db/management/commands/load_disease_classification_data.py +40 -40
  114. endoreg_db/management/commands/load_disease_data.py +39 -39
  115. endoreg_db/management/commands/load_distribution_data.py +65 -65
  116. endoreg_db/management/commands/load_endoscope_type_data.py +44 -44
  117. endoreg_db/management/commands/load_endoscopy_processor_data.py +44 -44
  118. endoreg_db/management/commands/load_event_data.py +40 -40
  119. endoreg_db/management/commands/load_examination_data.py +74 -74
  120. endoreg_db/management/commands/load_g_play_data.py +112 -112
  121. endoreg_db/management/commands/load_gender_data.py +43 -43
  122. endoreg_db/management/commands/load_green_endoscopy_wuerzburg_data.py +132 -132
  123. endoreg_db/management/commands/load_information_source.py +44 -44
  124. endoreg_db/management/commands/load_lab_value_data.py +49 -49
  125. endoreg_db/management/commands/load_label_data.py +66 -66
  126. endoreg_db/management/commands/load_medication_data.py +40 -40
  127. endoreg_db/management/commands/load_medication_indication_data.py +62 -62
  128. endoreg_db/management/commands/load_medication_indication_type_data.py +40 -40
  129. endoreg_db/management/commands/load_medication_intake_time_data.py +40 -40
  130. endoreg_db/management/commands/load_medication_schedule_data.py +54 -54
  131. endoreg_db/management/commands/load_network_data.py +49 -0
  132. endoreg_db/management/commands/load_pdf_type_data.py +60 -60
  133. endoreg_db/management/commands/load_profession_data.py +43 -43
  134. endoreg_db/management/commands/load_report_reader_flag.py +45 -45
  135. endoreg_db/management/commands/load_unit_data.py +45 -45
  136. endoreg_db/management/commands/load_user_groups.py +28 -28
  137. endoreg_db/management/commands/register_ai_model.py +65 -65
  138. endoreg_db/management/commands/reset_celery_schedule.py +9 -9
  139. endoreg_db/migrations/0001_initial.py +582 -582
  140. endoreg_db/migrations/0002_rawvideofile.py +26 -26
  141. endoreg_db/migrations/0003_rawvideofile_frames_required.py +18 -18
  142. endoreg_db/migrations/0004_rename_hash_rawvideofile_video_hash.py +18 -18
  143. endoreg_db/migrations/0005_ffmpegmeta_remove_videoimportmeta_center_and_more.py +56 -56
  144. endoreg_db/migrations/0006_rawvideofile_center_alter_videometa_processor.py +25 -25
  145. endoreg_db/migrations/0007_rawvideofile_processor.py +19 -19
  146. endoreg_db/migrations/0008_rename_frames_required_rawvideofile_state_frames_required.py +18 -18
  147. endoreg_db/migrations/0009_sensitivemeta_rawvideofile_sensitive_meta.py +31 -31
  148. endoreg_db/migrations/0010_rename_endoscope_serial_number_sensitivemeta_endoscope_sn.py +18 -18
  149. endoreg_db/migrations/0011_rawvideofile_state_sensitive_data_retrieved.py +18 -18
  150. endoreg_db/migrations/0012_rawvideofile_prediction_dir_and_more.py +109 -109
  151. endoreg_db/migrations/0013_rawpdffile.py +31 -31
  152. endoreg_db/migrations/0014_pdftype_alter_rawpdffile_file_pdfmeta.py +38 -38
  153. endoreg_db/migrations/0015_rename_report_processed_rawpdffile_state_report_processed_and_more.py +31 -31
  154. endoreg_db/migrations/0016_rawpdffile_state_report_processing_required.py +18 -18
  155. endoreg_db/migrations/0017_firstname_lastname_center_first_names_and_more.py +37 -37
  156. endoreg_db/migrations/0018_reportreaderflag_reportreaderconfig.py +37 -37
  157. endoreg_db/migrations/0019_pdftype_cut_off_above_lines_and_more.py +42 -42
  158. endoreg_db/migrations/0020_rename_endoscopy_info_line_pdftype_endoscope_info_line.py +18 -18
  159. endoreg_db/migrations/0021_alter_pdftype_endoscope_info_line.py +19 -19
  160. endoreg_db/migrations/0022_alter_pdftype_endoscope_info_line.py +19 -19
  161. endoreg_db/migrations/0023_ttoquestionnaire_alter_pdftype_endoscope_info_line.py +59 -59
  162. endoreg_db/migrations/0024_remove_ttoquestionnaire_infections_and_more.py +27 -27
  163. endoreg_db/migrations/0025_event_alter_rawpdffile_file_patientevent.py +42 -42
  164. endoreg_db/migrations/0026_disease_diseaseclassification_and_more.py +166 -166
  165. endoreg_db/migrations/0027_labvalue_abbreviation_labvalue_default_normal_range_and_more.py +38 -38
  166. endoreg_db/migrations/0028_alter_unit_abbreviation.py +18 -18
  167. endoreg_db/migrations/0029_medicationintaketime_and_more.py +75 -75
  168. endoreg_db/migrations/0030_medicationindicationtype_and_more.py +101 -101
  169. endoreg_db/migrations/0031_rename_adapt_to_liver_function_medication_adapt_to_age_and_more.py +38 -38
  170. endoreg_db/migrations/0032_alter_medicationschedule_therapy_duration_d.py +18 -18
  171. endoreg_db/migrations/0033_medicationindication_sources.py +18 -18
  172. endoreg_db/migrations/0034_alter_rawpdffile_file.py +20 -20
  173. endoreg_db/migrations/0035_alter_medicationindication_sources.py +18 -18
  174. endoreg_db/migrations/0036_alter_rawpdffile_file.py +20 -20
  175. endoreg_db/migrations/0037_alter_medicationindication_sources.py +18 -18
  176. endoreg_db/migrations/0038_emissionfactor_material_product_productgroup_and_more.py +164 -164
  177. endoreg_db/migrations/0039_referenceproduct_name.py +19 -19
  178. endoreg_db/migrations/0040_quizanswertype_quizquestiontype_quizquestion_and_more.py +50 -50
  179. endoreg_db/migrations/0041_gender_patientmedication_medication_indication_and_more.py +40 -40
  180. endoreg_db/migrations/0042_casetemplateruletype_casetemplaterulevalue_and_more.py +74 -74
  181. endoreg_db/migrations/0043_casetemplatetype_name_de_casetemplatetype_name_en.py +23 -23
  182. endoreg_db/migrations/0044_casetemplateruletype_name_de_and_more.py +23 -23
  183. endoreg_db/migrations/0045_casetemplaterulevalue_value_type.py +19 -19
  184. endoreg_db/migrations/0046_casetemplaterulevalue_target_field.py +18 -18
  185. endoreg_db/migrations/0047_casetemplaterule_target_model.py +18 -18
  186. endoreg_db/migrations/0048_remove_casetemplaterule_chained_rules_and_more.py +22 -22
  187. endoreg_db/migrations/0049_remove_casetemplaterule_rule_values.py +17 -17
  188. endoreg_db/migrations/0050_casetemplaterule_rule_values.py +18 -18
  189. endoreg_db/migrations/0051_remove_casetemplaterule_calling_rules_and_more.py +27 -27
  190. endoreg_db/migrations/0052_rename_case_template_type_casetemplate_template_type.py +18 -18
  191. endoreg_db/migrations/0053_patientlabsampletype_patientlabsample_and_more.py +38 -38
  192. endoreg_db/migrations/0054_multiplecategoricalvaluedistribution_and_more.py +69 -69
  193. endoreg_db/migrations/0055_remove_casetemplaterule_rule_values_and_more.py +59 -59
  194. endoreg_db/migrations/0056_datevaluedistribution_and_more.py +32 -32
  195. endoreg_db/migrations/0057_remove_datevaluedistribution_max_date_and_more.py +72 -72
  196. endoreg_db/migrations/0058_datevaluedistribution_description_and_more.py +28 -28
  197. endoreg_db/migrations/0059_casetemplaterule_rule_values.py +18 -18
  198. endoreg_db/migrations/0060_labvalue__default_date_value_distribution_and_more.py +44 -44
  199. endoreg_db/migrations/0061_remove_patientlabvalue_date_patientlabvalue_datetime.py +24 -24
  200. endoreg_db/migrations/0062_labvalue_numeric_precision.py +18 -18
  201. endoreg_db/migrations/0063_alter_labvalue_numeric_precision.py +18 -18
  202. endoreg_db/migrations/0064_casetemplaterule_extra_parameters_and_more.py +23 -23
  203. endoreg_db/migrations/0065_rename__date_value_distribution_casetemplaterule_date_value_distribution_and_more.py +58 -58
  204. endoreg_db/migrations/0066_alter_patientlabvalue_patient_and_more.py +29 -29
  205. endoreg_db/migrations/0067_alter_medicationindication_indication_type.py +19 -19
  206. endoreg_db/migrations/0068_networkdevicetype_networkdevicetypemanager_and_more.py +57 -0
  207. endoreg_db/models/__init__.py +75 -74
  208. endoreg_db/models/ai_model/__init__.py +3 -3
  209. endoreg_db/models/ai_model/active_model.py +9 -9
  210. endoreg_db/models/ai_model/model_meta.py +24 -24
  211. endoreg_db/models/ai_model/model_type.py +25 -25
  212. endoreg_db/models/ai_model/utils.py +8 -8
  213. endoreg_db/models/annotation/__init__.py +1 -1
  214. endoreg_db/models/annotation/binary_classification_annotation_task.py +80 -80
  215. endoreg_db/models/annotation/image_classification.py +26 -26
  216. endoreg_db/models/case_template/__init__.py +5 -5
  217. endoreg_db/models/case_template/case_template.py +81 -81
  218. endoreg_db/models/case_template/case_template_rule.py +276 -276
  219. endoreg_db/models/case_template/case_template_rule_value.py +73 -73
  220. endoreg_db/models/case_template/case_template_type.py +27 -27
  221. endoreg_db/models/center/__init__.py +4 -4
  222. endoreg_db/models/center/center.py +24 -24
  223. endoreg_db/models/center/center_product.py +33 -33
  224. endoreg_db/models/center/center_resource.py +18 -18
  225. endoreg_db/models/center/center_waste.py +10 -10
  226. endoreg_db/models/data_file/__init__.py +5 -5
  227. endoreg_db/models/data_file/base_classes/__init__.py +2 -2
  228. endoreg_db/models/data_file/base_classes/abstract_frame.py +50 -50
  229. endoreg_db/models/data_file/base_classes/abstract_video.py +200 -200
  230. endoreg_db/models/data_file/frame.py +45 -45
  231. endoreg_db/models/data_file/import_classes/__init__.py +31 -31
  232. endoreg_db/models/data_file/import_classes/processing_functions/__init__.py +34 -34
  233. endoreg_db/models/data_file/import_classes/processing_functions/pdf.py +28 -28
  234. endoreg_db/models/data_file/import_classes/processing_functions/video.py +260 -260
  235. endoreg_db/models/data_file/import_classes/raw_pdf.py +188 -188
  236. endoreg_db/models/data_file/import_classes/raw_video.py +343 -343
  237. endoreg_db/models/data_file/metadata/__init__.py +3 -3
  238. endoreg_db/models/data_file/metadata/pdf_meta.py +70 -70
  239. endoreg_db/models/data_file/metadata/sensitive_meta.py +31 -31
  240. endoreg_db/models/data_file/metadata/video_meta.py +132 -132
  241. endoreg_db/models/data_file/report_file.py +89 -89
  242. endoreg_db/models/data_file/video/__init__.py +6 -6
  243. endoreg_db/models/data_file/video/import_meta.py +25 -25
  244. endoreg_db/models/data_file/video/video.py +25 -25
  245. endoreg_db/models/data_file/video_segment.py +107 -107
  246. endoreg_db/models/disease.py +55 -55
  247. endoreg_db/models/emission/emission_factor.py +19 -19
  248. endoreg_db/models/event.py +21 -21
  249. endoreg_db/models/examination/__init__.py +3 -3
  250. endoreg_db/models/examination/examination.py +26 -26
  251. endoreg_db/models/examination/examination_time.py +27 -27
  252. endoreg_db/models/examination/examination_time_type.py +24 -24
  253. endoreg_db/models/examination/examination_type.py +18 -18
  254. endoreg_db/models/hardware/__init__.py +1 -1
  255. endoreg_db/models/hardware/endoscope.py +44 -44
  256. endoreg_db/models/hardware/endoscopy_processor.py +143 -143
  257. endoreg_db/models/information_source.py +29 -29
  258. endoreg_db/models/label/label.py +84 -84
  259. endoreg_db/models/laboratory/lab_value.py +102 -102
  260. endoreg_db/models/legacy_data/__init__.py +3 -3
  261. endoreg_db/models/legacy_data/image.py +34 -34
  262. endoreg_db/models/medication/medication.py +148 -148
  263. endoreg_db/models/network/__init__.py +2 -0
  264. endoreg_db/models/network/network_device.py +27 -0
  265. endoreg_db/models/network/network_device_type.py +23 -0
  266. endoreg_db/models/other/__init__.py +4 -4
  267. endoreg_db/models/other/distribution.py +215 -215
  268. endoreg_db/models/other/material.py +16 -16
  269. endoreg_db/models/other/resource.py +17 -17
  270. endoreg_db/models/other/transport_route.py +20 -20
  271. endoreg_db/models/other/waste.py +20 -20
  272. endoreg_db/models/patient_examination/__init__.py +35 -35
  273. endoreg_db/models/permissions/__init__.py +44 -44
  274. endoreg_db/models/persons/__init__.py +6 -6
  275. endoreg_db/models/persons/examiner/__init__.py +1 -1
  276. endoreg_db/models/persons/examiner/examiner.py +15 -15
  277. endoreg_db/models/persons/examiner/examiner_type.py +1 -1
  278. endoreg_db/models/persons/first_name.py +17 -17
  279. endoreg_db/models/persons/gender.py +22 -22
  280. endoreg_db/models/persons/last_name.py +19 -19
  281. endoreg_db/models/persons/patient/__init__.py +7 -7
  282. endoreg_db/models/persons/patient/case/case.py +30 -30
  283. endoreg_db/models/persons/patient/patient.py +216 -216
  284. endoreg_db/models/persons/patient/patient_disease.py +16 -16
  285. endoreg_db/models/persons/patient/patient_event.py +22 -22
  286. endoreg_db/models/persons/patient/patient_lab_sample.py +106 -106
  287. endoreg_db/models/persons/patient/patient_lab_value.py +176 -176
  288. endoreg_db/models/persons/patient/patient_medication.py +43 -43
  289. endoreg_db/models/persons/patient/patient_medication_schedule.py +27 -27
  290. endoreg_db/models/persons/person.py +31 -31
  291. endoreg_db/models/persons/portal_user_information.py +27 -27
  292. endoreg_db/models/prediction/__init__.py +1 -1
  293. endoreg_db/models/prediction/image_classification.py +37 -37
  294. endoreg_db/models/prediction/video_prediction_meta.py +244 -244
  295. endoreg_db/models/product/__init__.py +4 -4
  296. endoreg_db/models/product/product.py +97 -97
  297. endoreg_db/models/product/product_group.py +19 -19
  298. endoreg_db/models/product/product_material.py +24 -24
  299. endoreg_db/models/product/product_weight.py +26 -26
  300. endoreg_db/models/product/reference_product.py +99 -99
  301. endoreg_db/models/questionnaires/__init__.py +114 -114
  302. endoreg_db/models/quiz/__init__.py +1 -1
  303. endoreg_db/models/quiz/quiz_answer.py +41 -41
  304. endoreg_db/models/quiz/quiz_question.py +54 -54
  305. endoreg_db/models/report_reader/__init__.py +1 -1
  306. endoreg_db/models/report_reader/report_reader_config.py +53 -53
  307. endoreg_db/models/report_reader/report_reader_flag.py +19 -19
  308. endoreg_db/models/rules/__init__.py +4 -4
  309. endoreg_db/models/rules/rule.py +23 -23
  310. endoreg_db/models/rules/rule_applicator.py +224 -224
  311. endoreg_db/models/rules/rule_attribute_dtype.py +18 -18
  312. endoreg_db/models/rules/rule_type.py +21 -21
  313. endoreg_db/models/rules/ruleset.py +19 -19
  314. endoreg_db/models/unit.py +21 -21
  315. endoreg_db/queries/__init__.py +4 -4
  316. endoreg_db/queries/annotations/__init__.py +2 -2
  317. endoreg_db/queries/annotations/legacy.py +159 -159
  318. endoreg_db/queries/get/__init__.py +5 -5
  319. endoreg_db/queries/get/center.py +42 -42
  320. endoreg_db/queries/get/model.py +13 -13
  321. endoreg_db/queries/get/patient.py +14 -14
  322. endoreg_db/queries/get/patient_examination.py +20 -20
  323. endoreg_db/queries/get/report_file.py +33 -33
  324. endoreg_db/queries/get/video.py +31 -31
  325. endoreg_db/serializers/__init__.py +9 -9
  326. endoreg_db/serializers/ai_model.py +18 -18
  327. endoreg_db/serializers/annotation.py +17 -17
  328. endoreg_db/serializers/center.py +11 -11
  329. endoreg_db/serializers/examination.py +32 -32
  330. endoreg_db/serializers/frame.py +13 -13
  331. endoreg_db/serializers/hardware.py +20 -20
  332. endoreg_db/serializers/label.py +22 -22
  333. endoreg_db/serializers/patient.py +10 -10
  334. endoreg_db/serializers/prediction.py +15 -15
  335. endoreg_db/serializers/report_file.py +7 -7
  336. endoreg_db/serializers/video.py +27 -27
  337. endoreg_db/tests.py +3 -3
  338. endoreg_db/utils/cropping.py +28 -28
  339. endoreg_db/utils/dataloader.py +92 -92
  340. endoreg_db/utils/file_operations.py +30 -30
  341. endoreg_db/utils/hashs.py +33 -33
  342. endoreg_db/utils/legacy_ocr.py +201 -201
  343. endoreg_db/utils/ocr.py +197 -197
  344. endoreg_db/utils/uuid.py +4 -4
  345. endoreg_db/utils/video_metadata.py +87 -87
  346. endoreg_db/views.py +3 -3
  347. {endoreg_db-0.3.6.dist-info → endoreg_db-0.3.8.dist-info}/LICENSE +674 -674
  348. {endoreg_db-0.3.6.dist-info → endoreg_db-0.3.8.dist-info}/METADATA +3 -1
  349. endoreg_db-0.3.8.dist-info/RECORD +367 -0
  350. {endoreg_db-0.3.6.dist-info → endoreg_db-0.3.8.dist-info}/WHEEL +1 -1
  351. endoreg_db-0.3.6.dist-info/RECORD +0 -357
@@ -1,76 +1,76 @@
1
- from endoreg_db.utils.hashs import get_video_hash
2
- import subprocess
3
- from django.core.files import File
4
- from django.core.management.base import BaseCommand
5
- from endoreg_db.models.data_file.video import LegacyVideo
6
- import os
7
- from tqdm import tqdm
8
- # import cv2
9
-
10
- def convert_mkv_to_mp4(source_path, target_path):
11
- """
12
- Convert a .mkv file to a .mp4 file using FFmpeg.
13
-
14
- Parameters:
15
- mov_file_path (str): The file path of the input .MOV file.
16
- mp4_file_path (str): The file path where the output .mp4 file should be saved.
17
-
18
- Returns:
19
- None
20
- """
21
- cmd = ["ffmpeg", "-y", "-i", source_path, "-vcodec", "h264", "-acodec", "aac", target_path]
22
- subprocess.run(cmd)
23
-
24
-
25
- class Command(BaseCommand):
26
- """
27
- Imports videos from a directory into the database
28
-
29
- Usage:
30
- python manage.py import_legacy_videos <directory>
31
- """
32
- help = 'Imports videos from a directory into the database'
33
-
34
- def add_arguments(self, parser):
35
- parser.add_argument('directory', type=str)
36
-
37
- def handle(self, *args, **options):
38
- directory = options['directory']
39
- if not os.path.isdir(directory):
40
- raise Exception(f"Directory {directory} does not exist")
41
-
42
- # iterate over all subdirectories and gather all .mkv files
43
- mkv_files = []
44
- for root, dirs, files in os.walk(directory):
45
- for file in files:
46
- if file.endswith(".mkv"):
47
- mkv_files.append(os.path.join(root, file))
48
-
49
- # create videos
50
- for mkv_file in tqdm(mkv_files):
51
- # get the name of the video
52
- video_name = os.path.basename(mkv_file).replace(".mkv", "")
53
-
54
- # convert the .mkv file to a .mp4 file
55
- mp4_file = os.path.join(directory, video_name + ".mp4")
56
- if not os.path.isfile(mp4_file):
57
- convert_mkv_to_mp4(mkv_file, mp4_file)
58
-
59
- # create the video object
60
- video_hash = get_video_hash(mp4_file)
61
-
62
- # check if the video already exists
63
- if LegacyVideo.objects.filter(video_hash=video_hash).exists():
64
- print(f"Video with hash {video_hash} already exists. Skipping...")
65
- continue
66
-
67
- video = LegacyVideo.objects.create(video_hash=video_hash, suffix = "mp4")
68
-
69
- # open the .mp4 file
70
- with open(mp4_file, 'rb') as f:
71
- # create the Django File object
72
- django_file = File(f)
73
- # save the file to the video
74
- video.file.save(video_name + ".mp4", django_file)
75
- raise Exception("Stop here: NEED TO FIX OPENCV DEPENDENCY")
76
- video.initialize_video_specs(cv2.VideoCapture(video.file.path))
1
+ from endoreg_db.utils.hashs import get_video_hash
2
+ import subprocess
3
+ from django.core.files import File
4
+ from django.core.management.base import BaseCommand
5
+ from endoreg_db.models.data_file.video import LegacyVideo
6
+ import os
7
+ from tqdm import tqdm
8
+ # import cv2
9
+
10
+ def convert_mkv_to_mp4(source_path, target_path):
11
+ """
12
+ Convert a .mkv file to a .mp4 file using FFmpeg.
13
+
14
+ Parameters:
15
+ mov_file_path (str): The file path of the input .MOV file.
16
+ mp4_file_path (str): The file path where the output .mp4 file should be saved.
17
+
18
+ Returns:
19
+ None
20
+ """
21
+ cmd = ["ffmpeg", "-y", "-i", source_path, "-vcodec", "h264", "-acodec", "aac", target_path]
22
+ subprocess.run(cmd)
23
+
24
+
25
+ class Command(BaseCommand):
26
+ """
27
+ Imports videos from a directory into the database
28
+
29
+ Usage:
30
+ python manage.py import_legacy_videos <directory>
31
+ """
32
+ help = 'Imports videos from a directory into the database'
33
+
34
+ def add_arguments(self, parser):
35
+ parser.add_argument('directory', type=str)
36
+
37
+ def handle(self, *args, **options):
38
+ directory = options['directory']
39
+ if not os.path.isdir(directory):
40
+ raise Exception(f"Directory {directory} does not exist")
41
+
42
+ # iterate over all subdirectories and gather all .mkv files
43
+ mkv_files = []
44
+ for root, dirs, files in os.walk(directory):
45
+ for file in files:
46
+ if file.endswith(".mkv"):
47
+ mkv_files.append(os.path.join(root, file))
48
+
49
+ # create videos
50
+ for mkv_file in tqdm(mkv_files):
51
+ # get the name of the video
52
+ video_name = os.path.basename(mkv_file).replace(".mkv", "")
53
+
54
+ # convert the .mkv file to a .mp4 file
55
+ mp4_file = os.path.join(directory, video_name + ".mp4")
56
+ if not os.path.isfile(mp4_file):
57
+ convert_mkv_to_mp4(mkv_file, mp4_file)
58
+
59
+ # create the video object
60
+ video_hash = get_video_hash(mp4_file)
61
+
62
+ # check if the video already exists
63
+ if LegacyVideo.objects.filter(video_hash=video_hash).exists():
64
+ print(f"Video with hash {video_hash} already exists. Skipping...")
65
+ continue
66
+
67
+ video = LegacyVideo.objects.create(video_hash=video_hash, suffix = "mp4")
68
+
69
+ # open the .mp4 file
70
+ with open(mp4_file, 'rb') as f:
71
+ # create the Django File object
72
+ django_file = File(f)
73
+ # save the file to the video
74
+ video.file.save(video_name + ".mp4", django_file)
75
+ raise Exception("Stop here: NEED TO FIX OPENCV DEPENDENCY")
76
+ video.initialize_video_specs(cv2.VideoCapture(video.file.path))
@@ -1,45 +1,45 @@
1
- from django.conf import settings
2
- import os
3
- from django.core.management.base import BaseCommand
4
- from ...models import ActiveModel
5
- from ...utils import load_model_data_from_yaml
6
- from ...data import ACTIVE_MODEL_DATA_DIR
7
-
8
- SOURCE_DIR = ACTIVE_MODEL_DATA_DIR # e.g. settings.DATA_DIR_INTERVENTION
9
-
10
- MODEL_0 = ActiveModel
11
-
12
- IMPORT_MODELS = [ # string as model key, serves as key in IMPORT_METADATA
13
- MODEL_0.__name__,
14
- ]
15
-
16
- IMPORT_METADATA = {
17
- MODEL_0.__name__: {
18
- "dir": SOURCE_DIR, # e.g. "interventions"
19
- "model": MODEL_0, # e.g. Intervention
20
- "foreign_keys": [], # e.g. ["intervention_types"]
21
- "foreign_key_models": [] # e.g. [InterventionType]
22
- }
23
- }
24
-
25
- class Command(BaseCommand):
26
- help = """Load all .yaml files in the data/intervention directory
27
- into the Intervention and InterventionType model"""
28
-
29
- def add_arguments(self, parser):
30
- parser.add_argument(
31
- '--verbose',
32
- action='store_true',
33
- help='Display verbose output',
34
- )
35
-
36
- def handle(self, *args, **options):
37
- verbose = options['verbose']
38
- for model_name in IMPORT_MODELS:
39
- _metadata = IMPORT_METADATA[model_name]
40
- load_model_data_from_yaml(
41
- self,
42
- model_name,
43
- _metadata,
44
- verbose
1
+ from django.conf import settings
2
+ import os
3
+ from django.core.management.base import BaseCommand
4
+ from ...models import ActiveModel
5
+ from ...utils import load_model_data_from_yaml
6
+ from ...data import ACTIVE_MODEL_DATA_DIR
7
+
8
+ SOURCE_DIR = ACTIVE_MODEL_DATA_DIR # e.g. settings.DATA_DIR_INTERVENTION
9
+
10
+ MODEL_0 = ActiveModel
11
+
12
+ IMPORT_MODELS = [ # string as model key, serves as key in IMPORT_METADATA
13
+ MODEL_0.__name__,
14
+ ]
15
+
16
+ IMPORT_METADATA = {
17
+ MODEL_0.__name__: {
18
+ "dir": SOURCE_DIR, # e.g. "interventions"
19
+ "model": MODEL_0, # e.g. Intervention
20
+ "foreign_keys": [], # e.g. ["intervention_types"]
21
+ "foreign_key_models": [] # e.g. [InterventionType]
22
+ }
23
+ }
24
+
25
+ class Command(BaseCommand):
26
+ help = """Load all .yaml files in the data/intervention directory
27
+ into the Intervention and InterventionType model"""
28
+
29
+ def add_arguments(self, parser):
30
+ parser.add_argument(
31
+ '--verbose',
32
+ action='store_true',
33
+ help='Display verbose output',
34
+ )
35
+
36
+ def handle(self, *args, **options):
37
+ verbose = options['verbose']
38
+ for model_name in IMPORT_MODELS:
39
+ _metadata = IMPORT_METADATA[model_name]
40
+ load_model_data_from_yaml(
41
+ self,
42
+ model_name,
43
+ _metadata,
44
+ verbose
45
45
  )
@@ -1,45 +1,45 @@
1
- from django.conf import settings
2
- import os
3
- from django.core.management.base import BaseCommand
4
- from ...models import ModelType
5
- from ...utils import load_model_data_from_yaml
6
- from ...data import MODEL_TYPE_DATA_DIR
7
-
8
- SOURCE_DIR = MODEL_TYPE_DATA_DIR # e.g. settings.DATA_DIR_INTERVENTION
9
-
10
- MODEL_0 = ModelType
11
-
12
- IMPORT_MODELS = [ # string as model key, serves as key in IMPORT_METADATA
13
- MODEL_0.__name__,
14
- ]
15
-
16
- IMPORT_METADATA = {
17
- MODEL_0.__name__: {
18
- "dir": SOURCE_DIR, # e.g. "interventions"
19
- "model": MODEL_0, # e.g. Intervention
20
- "foreign_keys": [], # e.g. ["intervention_types"]
21
- "foreign_key_models": [] # e.g. [InterventionType]
22
- }
23
- }
24
-
25
- class Command(BaseCommand):
26
- help = """Load all .yaml files in the data/intervention directory
27
- into the Intervention and InterventionType model"""
28
-
29
- def add_arguments(self, parser):
30
- parser.add_argument(
31
- '--verbose',
32
- action='store_true',
33
- help='Display verbose output',
34
- )
35
-
36
- def handle(self, *args, **options):
37
- verbose = options['verbose']
38
- for model_name in IMPORT_MODELS:
39
- _metadata = IMPORT_METADATA[model_name]
40
- load_model_data_from_yaml(
41
- self,
42
- model_name,
43
- _metadata,
44
- verbose
1
+ from django.conf import settings
2
+ import os
3
+ from django.core.management.base import BaseCommand
4
+ from ...models import ModelType
5
+ from ...utils import load_model_data_from_yaml
6
+ from ...data import MODEL_TYPE_DATA_DIR
7
+
8
+ SOURCE_DIR = MODEL_TYPE_DATA_DIR # e.g. settings.DATA_DIR_INTERVENTION
9
+
10
+ MODEL_0 = ModelType
11
+
12
+ IMPORT_MODELS = [ # string as model key, serves as key in IMPORT_METADATA
13
+ MODEL_0.__name__,
14
+ ]
15
+
16
+ IMPORT_METADATA = {
17
+ MODEL_0.__name__: {
18
+ "dir": SOURCE_DIR, # e.g. "interventions"
19
+ "model": MODEL_0, # e.g. Intervention
20
+ "foreign_keys": [], # e.g. ["intervention_types"]
21
+ "foreign_key_models": [] # e.g. [InterventionType]
22
+ }
23
+ }
24
+
25
+ class Command(BaseCommand):
26
+ help = """Load all .yaml files in the data/intervention directory
27
+ into the Intervention and InterventionType model"""
28
+
29
+ def add_arguments(self, parser):
30
+ parser.add_argument(
31
+ '--verbose',
32
+ action='store_true',
33
+ help='Display verbose output',
34
+ )
35
+
36
+ def handle(self, *args, **options):
37
+ verbose = options['verbose']
38
+ for model_name in IMPORT_MODELS:
39
+ _metadata = IMPORT_METADATA[model_name]
40
+ load_model_data_from_yaml(
41
+ self,
42
+ model_name,
43
+ _metadata,
44
+ verbose
45
45
  )
@@ -1,128 +1,132 @@
1
- from django.core.management import BaseCommand, call_command
2
-
3
- class Command(BaseCommand):
4
- help = 'Run all data loading commands in the correct order'
5
-
6
- def add_arguments(self, parser):
7
- parser.add_argument(
8
- '--verbose',
9
- action='store_true',
10
- help='Display verbose output for all commands',
11
- )
12
-
13
- def handle(self, *args, **options):
14
- # verbose = options['verbose']
15
- verbose = True
16
-
17
- self.stdout.write(self.style.SUCCESS("Populating base db models with data..."))
18
-
19
- # Run the load_profession_data command
20
- self.stdout.write(self.style.SUCCESS("Running load_profession_data..."))
21
- call_command('load_profession_data', verbose=verbose)
22
-
23
- # run the load_gender_data command
24
- self.stdout.write(self.style.SUCCESS("Running load_gender_data..."))
25
- call_command('load_gender_data', verbose=verbose)
26
-
27
- # Run the load_disease data command
28
- self.stdout.write(self.style.SUCCESS("Running load_disease_data..."))
29
- call_command('load_disease_data', verbose=verbose)
30
-
31
- # Run the load_disease_classification data command
32
- self.stdout.write(self.style.SUCCESS("Running load_disease_classification_data..."))
33
- call_command('load_disease_classification_data', verbose=verbose)
34
-
35
- # Run the load_disease_classification_choices data command
36
- self.stdout.write(self.style.SUCCESS("Running load_disease_classification_choices_data..."))
37
- call_command('load_disease_classification_choices_data', verbose=verbose)
38
-
39
- # rund the load_user_groups command
40
- self.stdout.write(self.style.SUCCESS("Running load_user_groups..."))
41
- call_command('load_user_groups', verbose=verbose)
42
-
43
- # run the load_report_reader_flag command
44
- self.stdout.write(self.style.SUCCESS("Running load_report_reader_flag..."))
45
- call_command('load_report_reader_flag', verbose=verbose)
46
-
47
- # Run the load_pdf_type_data command
48
- self.stdout.write(self.style.SUCCESS("Running load_pdf_type_data..."))
49
- call_command('load_pdf_type_data', verbose=verbose)
50
-
51
- # Run the load_endoscopy_processor_data command
52
- self.stdout.write(self.style.SUCCESS("Running load_endoscopy_processor_data..."))
53
- call_command('load_endoscopy_processor_data', verbose=verbose)
54
-
55
- # Run the load_endoscope_type_data command
56
- self.stdout.write(self.style.SUCCESS("Running load_endoscope_type_data..."))
57
- call_command('load_endoscope_type_data', verbose=verbose)
58
-
59
- # Run the load_unit_data command
60
- self.stdout.write(self.style.SUCCESS("Running load_unit_data..."))
61
- call_command('load_unit_data', verbose=verbose)
62
-
63
- # Run the load_lab_value_data command
64
- self.stdout.write(self.style.SUCCESS("Running load_lab_value_data..."))
65
- call_command("load_lab_value_data", verbose=verbose)
66
-
67
- # Run the load_information_source command
68
- self.stdout.write(self.style.SUCCESS("Running load_information_source..."))
69
- call_command('load_information_source', verbose=verbose)
70
-
71
- # Run the load_center_data command
72
- self.stdout.write(self.style.SUCCESS("Running load_center_data..."))
73
- call_command('load_center_data', verbose=verbose)
74
-
75
- # Run the load_examination_data command
76
- self.stdout.write(self.style.SUCCESS("Running load_examination_data..."))
77
- call_command('load_examination_data', verbose=verbose)
78
-
79
- # Run the load_label_data command
80
- self.stdout.write(self.style.SUCCESS("Running load_label_data..."))
81
- call_command('load_label_data', verbose=verbose)
82
-
83
- # Run the load_ai_model_data command
84
- self.stdout.write(self.style.SUCCESS("Running load_ai_model_data..."))
85
- call_command('load_ai_model_data', verbose=verbose)
86
-
87
- # Run the load_event_data command
88
- self.stdout.write(self.style.SUCCESS("Running load_event_data..."))
89
- call_command('load_event_data', verbose=verbose)
90
-
91
- # run the load_medication_data command
92
- self.stdout.write(self.style.SUCCESS("Running load_medication_data..."))
93
- call_command('load_medication_data', verbose=verbose)
94
-
95
- # Run the load_medication_indication_type_data command
96
- self.stdout.write(self.style.SUCCESS("Running load_medication_indication_type_data..."))
97
- call_command('load_medication_indication_type_data', verbose=verbose)
98
-
99
- # Run the load_medication_intake_time_data command
100
- self.stdout.write(self.style.SUCCESS("Running load_medication_intake_time_data..."))
101
- call_command('load_medication_intake_time_data', verbose=verbose)
102
-
103
- # Run the load_medication_schedule_data command
104
- self.stdout.write(self.style.SUCCESS("Running load_medication_schedule_data..."))
105
- call_command('load_medication_schedule_data', verbose=verbose)
106
-
107
- # Run the load_medication_indication_data command
108
- self.stdout.write(self.style.SUCCESS("Running load_medication_indication_data..."))
109
- call_command('load_medication_indication_data', verbose=verbose)
110
-
111
- # Run the load_green_endoscopy_wuerzburg_data command
112
- self.stdout.write(self.style.SUCCESS("Running load_green_endoscopy_wuerzburg_data..."))
113
- call_command('load_green_endoscopy_wuerzburg_data', verbose=verbose)
114
-
115
- # Load G-Play Data
116
- # run the load_distribution_data command
117
- self.stdout.write(self.style.SUCCESS("Running load_distribution_data..."))
118
- call_command('load_distribution_data', verbose=verbose)
119
- # Run the load_g_play_data command
120
- self.stdout.write(self.style.SUCCESS("Running load_g_play_data..."))
121
- call_command('load_g_play_data', verbose=verbose)
122
-
123
- # Necessary? Migrate? FIXME
124
- # # Run the load_active_model_data command
125
- # self.stdout.write(self.style.SUCCESS("Running load_active_model_data..."))
126
- # call_command('load_active_model_data', verbose=verbose)
127
-
128
- self.stdout.write(self.style.SUCCESS("All data loading commands executed successfully."))
1
+ from django.core.management import BaseCommand, call_command
2
+
3
+ class Command(BaseCommand):
4
+ help = 'Run all data loading commands in the correct order'
5
+
6
+ def add_arguments(self, parser):
7
+ parser.add_argument(
8
+ '--verbose',
9
+ action='store_true',
10
+ help='Display verbose output for all commands',
11
+ )
12
+
13
+ def handle(self, *args, **options):
14
+ # verbose = options['verbose']
15
+ verbose = True
16
+
17
+ self.stdout.write(self.style.SUCCESS("Populating base db models with data..."))
18
+
19
+ # Run the load_network_data command
20
+ self.stdout.write(self.style.SUCCESS("Running load_network_data..."))
21
+ call_command('load_network_data', verbose=verbose)
22
+
23
+ # Run the load_profession_data command
24
+ self.stdout.write(self.style.SUCCESS("Running load_profession_data..."))
25
+ call_command('load_profession_data', verbose=verbose)
26
+
27
+ # run the load_gender_data command
28
+ self.stdout.write(self.style.SUCCESS("Running load_gender_data..."))
29
+ call_command('load_gender_data', verbose=verbose)
30
+
31
+ # Run the load_disease data command
32
+ self.stdout.write(self.style.SUCCESS("Running load_disease_data..."))
33
+ call_command('load_disease_data', verbose=verbose)
34
+
35
+ # Run the load_disease_classification data command
36
+ self.stdout.write(self.style.SUCCESS("Running load_disease_classification_data..."))
37
+ call_command('load_disease_classification_data', verbose=verbose)
38
+
39
+ # Run the load_disease_classification_choices data command
40
+ self.stdout.write(self.style.SUCCESS("Running load_disease_classification_choices_data..."))
41
+ call_command('load_disease_classification_choices_data', verbose=verbose)
42
+
43
+ # rund the load_user_groups command
44
+ self.stdout.write(self.style.SUCCESS("Running load_user_groups..."))
45
+ call_command('load_user_groups', verbose=verbose)
46
+
47
+ # run the load_report_reader_flag command
48
+ self.stdout.write(self.style.SUCCESS("Running load_report_reader_flag..."))
49
+ call_command('load_report_reader_flag', verbose=verbose)
50
+
51
+ # Run the load_pdf_type_data command
52
+ self.stdout.write(self.style.SUCCESS("Running load_pdf_type_data..."))
53
+ call_command('load_pdf_type_data', verbose=verbose)
54
+
55
+ # Run the load_endoscopy_processor_data command
56
+ self.stdout.write(self.style.SUCCESS("Running load_endoscopy_processor_data..."))
57
+ call_command('load_endoscopy_processor_data', verbose=verbose)
58
+
59
+ # Run the load_endoscope_type_data command
60
+ self.stdout.write(self.style.SUCCESS("Running load_endoscope_type_data..."))
61
+ call_command('load_endoscope_type_data', verbose=verbose)
62
+
63
+ # Run the load_unit_data command
64
+ self.stdout.write(self.style.SUCCESS("Running load_unit_data..."))
65
+ call_command('load_unit_data', verbose=verbose)
66
+
67
+ # Run the load_lab_value_data command
68
+ self.stdout.write(self.style.SUCCESS("Running load_lab_value_data..."))
69
+ call_command("load_lab_value_data", verbose=verbose)
70
+
71
+ # Run the load_information_source command
72
+ self.stdout.write(self.style.SUCCESS("Running load_information_source..."))
73
+ call_command('load_information_source', verbose=verbose)
74
+
75
+ # Run the load_center_data command
76
+ self.stdout.write(self.style.SUCCESS("Running load_center_data..."))
77
+ call_command('load_center_data', verbose=verbose)
78
+
79
+ # Run the load_examination_data command
80
+ self.stdout.write(self.style.SUCCESS("Running load_examination_data..."))
81
+ call_command('load_examination_data', verbose=verbose)
82
+
83
+ # Run the load_label_data command
84
+ self.stdout.write(self.style.SUCCESS("Running load_label_data..."))
85
+ call_command('load_label_data', verbose=verbose)
86
+
87
+ # Run the load_ai_model_data command
88
+ self.stdout.write(self.style.SUCCESS("Running load_ai_model_data..."))
89
+ call_command('load_ai_model_data', verbose=verbose)
90
+
91
+ # Run the load_event_data command
92
+ self.stdout.write(self.style.SUCCESS("Running load_event_data..."))
93
+ call_command('load_event_data', verbose=verbose)
94
+
95
+ # run the load_medication_data command
96
+ self.stdout.write(self.style.SUCCESS("Running load_medication_data..."))
97
+ call_command('load_medication_data', verbose=verbose)
98
+
99
+ # Run the load_medication_indication_type_data command
100
+ self.stdout.write(self.style.SUCCESS("Running load_medication_indication_type_data..."))
101
+ call_command('load_medication_indication_type_data', verbose=verbose)
102
+
103
+ # Run the load_medication_intake_time_data command
104
+ self.stdout.write(self.style.SUCCESS("Running load_medication_intake_time_data..."))
105
+ call_command('load_medication_intake_time_data', verbose=verbose)
106
+
107
+ # Run the load_medication_schedule_data command
108
+ self.stdout.write(self.style.SUCCESS("Running load_medication_schedule_data..."))
109
+ call_command('load_medication_schedule_data', verbose=verbose)
110
+
111
+ # Run the load_medication_indication_data command
112
+ self.stdout.write(self.style.SUCCESS("Running load_medication_indication_data..."))
113
+ call_command('load_medication_indication_data', verbose=verbose)
114
+
115
+ # Run the load_green_endoscopy_wuerzburg_data command
116
+ self.stdout.write(self.style.SUCCESS("Running load_green_endoscopy_wuerzburg_data..."))
117
+ call_command('load_green_endoscopy_wuerzburg_data', verbose=verbose)
118
+
119
+ # Load G-Play Data
120
+ # run the load_distribution_data command
121
+ self.stdout.write(self.style.SUCCESS("Running load_distribution_data..."))
122
+ call_command('load_distribution_data', verbose=verbose)
123
+ # Run the load_g_play_data command
124
+ self.stdout.write(self.style.SUCCESS("Running load_g_play_data..."))
125
+ call_command('load_g_play_data', verbose=verbose)
126
+
127
+ # Necessary? Migrate? FIXME
128
+ # # Run the load_active_model_data command
129
+ # self.stdout.write(self.style.SUCCESS("Running load_active_model_data..."))
130
+ # call_command('load_active_model_data', verbose=verbose)
131
+
132
+ self.stdout.write(self.style.SUCCESS("All data loading commands executed successfully."))