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,43 +1,43 @@
1
- from django.core.management.base import BaseCommand
2
- from ...utils import load_model_data_from_yaml
3
- from ...models import Center, FirstName, LastName
4
- from ...data import CENTER_DATA_DIR
5
-
6
- SOURCE_DIR = CENTER_DATA_DIR # e.g. settings.DATA_DIR_INTERVENTION
7
-
8
- MODEL_0 = Center
9
-
10
- IMPORT_MODELS = [ # string as model key, serves as key in IMPORT_METADATA
11
- MODEL_0.__name__,
12
- ]
13
-
14
- IMPORT_METADATA = {
15
- MODEL_0.__name__: {
16
- "dir": SOURCE_DIR, # e.g. "interventions"
17
- "model": MODEL_0, # e.g. Intervention
18
- "foreign_keys": ["first_names", "last_names"], # e.g. ["intervention_types"]
19
- "foreign_key_models": [FirstName, LastName] # e.g. [InterventionType]
20
- }
21
- }
22
-
23
- class Command(BaseCommand):
24
- help = """Load all .yaml files in the data/intervention directory
25
- into the Intervention and InterventionType model"""
26
-
27
- def add_arguments(self, parser):
28
- parser.add_argument(
29
- '--verbose',
30
- action='store_true',
31
- help='Display verbose output',
32
- )
33
-
34
- def handle(self, *args, **options):
35
- verbose = options['verbose']
36
- for model_name in IMPORT_MODELS:
37
- _metadata = IMPORT_METADATA[model_name]
38
- load_model_data_from_yaml(
39
- self,
40
- model_name,
41
- _metadata,
42
- verbose
1
+ from django.core.management.base import BaseCommand
2
+ from ...utils import load_model_data_from_yaml
3
+ from ...models import Center, FirstName, LastName
4
+ from ...data import CENTER_DATA_DIR
5
+
6
+ SOURCE_DIR = CENTER_DATA_DIR # e.g. settings.DATA_DIR_INTERVENTION
7
+
8
+ MODEL_0 = Center
9
+
10
+ IMPORT_MODELS = [ # string as model key, serves as key in IMPORT_METADATA
11
+ MODEL_0.__name__,
12
+ ]
13
+
14
+ IMPORT_METADATA = {
15
+ MODEL_0.__name__: {
16
+ "dir": SOURCE_DIR, # e.g. "interventions"
17
+ "model": MODEL_0, # e.g. Intervention
18
+ "foreign_keys": ["first_names", "last_names"], # e.g. ["intervention_types"]
19
+ "foreign_key_models": [FirstName, LastName] # e.g. [InterventionType]
20
+ }
21
+ }
22
+
23
+ class Command(BaseCommand):
24
+ help = """Load all .yaml files in the data/intervention directory
25
+ into the Intervention and InterventionType model"""
26
+
27
+ def add_arguments(self, parser):
28
+ parser.add_argument(
29
+ '--verbose',
30
+ action='store_true',
31
+ help='Display verbose output',
32
+ )
33
+
34
+ def handle(self, *args, **options):
35
+ verbose = options['verbose']
36
+ for model_name in IMPORT_MODELS:
37
+ _metadata = IMPORT_METADATA[model_name]
38
+ load_model_data_from_yaml(
39
+ self,
40
+ model_name,
41
+ _metadata,
42
+ verbose
43
43
  )
@@ -1,41 +1,41 @@
1
- from django.core.management.base import BaseCommand
2
- from endoreg_db.models import DiseaseClassificationChoice as MODEL_0
3
- from ...utils import load_model_data_from_yaml
4
- from ...data import DISEASE_CLASSIFICATION_CHOICE_DATA_DIR as SOURCE_DIR
5
-
6
- from endoreg_db.models import DiseaseClassification
7
-
8
- IMPORT_MODELS = [ # string as model key, serves as key in IMPORT_METADATA
9
- MODEL_0.__name__,
10
- ]
11
-
12
- IMPORT_METADATA = {
13
- MODEL_0.__name__: {
14
- "dir": SOURCE_DIR, # e.g. "interventions"
15
- "model": MODEL_0, # e.g. Intervention
16
- "foreign_keys": ["disease_classification"], # e.g. ["intervention_types"]
17
- "foreign_key_models": [DiseaseClassification] # e.g. [InterventionType]
18
- }
19
- }
20
-
21
- class Command(BaseCommand):
22
- help = """Load all .yaml files in the data/intervention directory
23
- into the Intervention and InterventionType model"""
24
-
25
- def add_arguments(self, parser):
26
- parser.add_argument(
27
- '--verbose',
28
- action='store_true',
29
- help='Display verbose output',
30
- )
31
-
32
- def handle(self, *args, **options):
33
- verbose = options['verbose']
34
- for model_name in IMPORT_MODELS:
35
- _metadata = IMPORT_METADATA[model_name]
36
- load_model_data_from_yaml(
37
- self,
38
- model_name,
39
- _metadata,
40
- verbose
1
+ from django.core.management.base import BaseCommand
2
+ from endoreg_db.models import DiseaseClassificationChoice as MODEL_0
3
+ from ...utils import load_model_data_from_yaml
4
+ from ...data import DISEASE_CLASSIFICATION_CHOICE_DATA_DIR as SOURCE_DIR
5
+
6
+ from endoreg_db.models import DiseaseClassification
7
+
8
+ IMPORT_MODELS = [ # string as model key, serves as key in IMPORT_METADATA
9
+ MODEL_0.__name__,
10
+ ]
11
+
12
+ IMPORT_METADATA = {
13
+ MODEL_0.__name__: {
14
+ "dir": SOURCE_DIR, # e.g. "interventions"
15
+ "model": MODEL_0, # e.g. Intervention
16
+ "foreign_keys": ["disease_classification"], # e.g. ["intervention_types"]
17
+ "foreign_key_models": [DiseaseClassification] # e.g. [InterventionType]
18
+ }
19
+ }
20
+
21
+ class Command(BaseCommand):
22
+ help = """Load all .yaml files in the data/intervention directory
23
+ into the Intervention and InterventionType model"""
24
+
25
+ def add_arguments(self, parser):
26
+ parser.add_argument(
27
+ '--verbose',
28
+ action='store_true',
29
+ help='Display verbose output',
30
+ )
31
+
32
+ def handle(self, *args, **options):
33
+ verbose = options['verbose']
34
+ for model_name in IMPORT_MODELS:
35
+ _metadata = IMPORT_METADATA[model_name]
36
+ load_model_data_from_yaml(
37
+ self,
38
+ model_name,
39
+ _metadata,
40
+ verbose
41
41
  )
@@ -1,41 +1,41 @@
1
- from django.core.management.base import BaseCommand
2
- from endoreg_db.models import DiseaseClassification as MODEL_0
3
- from ...utils import load_model_data_from_yaml
4
- from ...data import DISEASE_CLASSIFICATION_DATA_DIR as SOURCE_DIR
5
-
6
- from endoreg_db.models import Disease
7
-
8
- IMPORT_MODELS = [ # string as model key, serves as key in IMPORT_METADATA
9
- MODEL_0.__name__,
10
- ]
11
-
12
- IMPORT_METADATA = {
13
- MODEL_0.__name__: {
14
- "dir": SOURCE_DIR, # e.g. "interventions"
15
- "model": MODEL_0, # e.g. Intervention
16
- "foreign_keys": ["disease"], # e.g. ["intervention_types"]
17
- "foreign_key_models": [Disease] # e.g. [InterventionType]
18
- }
19
- }
20
-
21
- class Command(BaseCommand):
22
- help = """Load all .yaml files in the data/intervention directory
23
- into the Intervention and InterventionType model"""
24
-
25
- def add_arguments(self, parser):
26
- parser.add_argument(
27
- '--verbose',
28
- action='store_true',
29
- help='Display verbose output',
30
- )
31
-
32
- def handle(self, *args, **options):
33
- verbose = options['verbose']
34
- for model_name in IMPORT_MODELS:
35
- _metadata = IMPORT_METADATA[model_name]
36
- load_model_data_from_yaml(
37
- self,
38
- model_name,
39
- _metadata,
40
- verbose
1
+ from django.core.management.base import BaseCommand
2
+ from endoreg_db.models import DiseaseClassification as MODEL_0
3
+ from ...utils import load_model_data_from_yaml
4
+ from ...data import DISEASE_CLASSIFICATION_DATA_DIR as SOURCE_DIR
5
+
6
+ from endoreg_db.models import Disease
7
+
8
+ IMPORT_MODELS = [ # string as model key, serves as key in IMPORT_METADATA
9
+ MODEL_0.__name__,
10
+ ]
11
+
12
+ IMPORT_METADATA = {
13
+ MODEL_0.__name__: {
14
+ "dir": SOURCE_DIR, # e.g. "interventions"
15
+ "model": MODEL_0, # e.g. Intervention
16
+ "foreign_keys": ["disease"], # e.g. ["intervention_types"]
17
+ "foreign_key_models": [Disease] # e.g. [InterventionType]
18
+ }
19
+ }
20
+
21
+ class Command(BaseCommand):
22
+ help = """Load all .yaml files in the data/intervention directory
23
+ into the Intervention and InterventionType model"""
24
+
25
+ def add_arguments(self, parser):
26
+ parser.add_argument(
27
+ '--verbose',
28
+ action='store_true',
29
+ help='Display verbose output',
30
+ )
31
+
32
+ def handle(self, *args, **options):
33
+ verbose = options['verbose']
34
+ for model_name in IMPORT_MODELS:
35
+ _metadata = IMPORT_METADATA[model_name]
36
+ load_model_data_from_yaml(
37
+ self,
38
+ model_name,
39
+ _metadata,
40
+ verbose
41
41
  )
@@ -1,40 +1,40 @@
1
- from django.core.management.base import BaseCommand
2
- from endoreg_db.models import Disease as MODEL_0
3
- from ...utils import load_model_data_from_yaml
4
- from ...data import DISEASE_DATA_DIR as SOURCE_DIR
5
-
6
-
7
- IMPORT_MODELS = [ # string as model key, serves as key in IMPORT_METADATA
8
- MODEL_0.__name__,
9
- ]
10
-
11
- IMPORT_METADATA = {
12
- MODEL_0.__name__: {
13
- "dir": SOURCE_DIR, # e.g. "interventions"
14
- "model": MODEL_0, # e.g. Intervention
15
- "foreign_keys": [], # e.g. ["intervention_types"]
16
- "foreign_key_models": [] # e.g. [InterventionType]
17
- }
18
- }
19
-
20
- class Command(BaseCommand):
21
- help = """Load all .yaml files in the data/intervention directory
22
- into the Intervention and InterventionType model"""
23
-
24
- def add_arguments(self, parser):
25
- parser.add_argument(
26
- '--verbose',
27
- action='store_true',
28
- help='Display verbose output',
29
- )
30
-
31
- def handle(self, *args, **options):
32
- verbose = options['verbose']
33
- for model_name in IMPORT_MODELS:
34
- _metadata = IMPORT_METADATA[model_name]
35
- load_model_data_from_yaml(
36
- self,
37
- model_name,
38
- _metadata,
39
- verbose
1
+ from django.core.management.base import BaseCommand
2
+ from endoreg_db.models import Disease as MODEL_0
3
+ from ...utils import load_model_data_from_yaml
4
+ from ...data import DISEASE_DATA_DIR as SOURCE_DIR
5
+
6
+
7
+ IMPORT_MODELS = [ # string as model key, serves as key in IMPORT_METADATA
8
+ MODEL_0.__name__,
9
+ ]
10
+
11
+ IMPORT_METADATA = {
12
+ MODEL_0.__name__: {
13
+ "dir": SOURCE_DIR, # e.g. "interventions"
14
+ "model": MODEL_0, # e.g. Intervention
15
+ "foreign_keys": [], # e.g. ["intervention_types"]
16
+ "foreign_key_models": [] # e.g. [InterventionType]
17
+ }
18
+ }
19
+
20
+ class Command(BaseCommand):
21
+ help = """Load all .yaml files in the data/intervention directory
22
+ into the Intervention and InterventionType model"""
23
+
24
+ def add_arguments(self, parser):
25
+ parser.add_argument(
26
+ '--verbose',
27
+ action='store_true',
28
+ help='Display verbose output',
29
+ )
30
+
31
+ def handle(self, *args, **options):
32
+ verbose = options['verbose']
33
+ for model_name in IMPORT_MODELS:
34
+ _metadata = IMPORT_METADATA[model_name]
35
+ load_model_data_from_yaml(
36
+ self,
37
+ model_name,
38
+ _metadata,
39
+ verbose
40
40
  )
@@ -1,66 +1,66 @@
1
- from django.core.management.base import BaseCommand
2
- from endoreg_db.models import (
3
- NumericValueDistribution,
4
- SingleCategoricalValueDistribution,
5
- MultipleCategoricalValueDistribution,
6
- DateValueDistribution
7
-
8
- )
9
- from collections import OrderedDict
10
-
11
- from ...utils import load_model_data_from_yaml
12
- from ...data import (
13
- DISTRIBUTION_NUMERIC_DATA_DIR,
14
- DISTRIBUTION_SINGLE_CATEGORICAL_DATA_DIR,
15
- DISTRIBUTION_MULTIPLE_CATEGORICAL_DATA_DIR,
16
- DISTRIBUTION_DATE_DATA_DIR,
17
- )
18
-
19
- IMPORT_METADATA = OrderedDict({
20
- NumericValueDistribution.__name__: {
21
- "dir": DISTRIBUTION_NUMERIC_DATA_DIR,
22
- "model": NumericValueDistribution,
23
- "foreign_keys": [],
24
- "foreign_key_models": []
25
- },
26
- SingleCategoricalValueDistribution.__name__: {
27
- "dir": DISTRIBUTION_SINGLE_CATEGORICAL_DATA_DIR,
28
- "model": SingleCategoricalValueDistribution,
29
- "foreign_keys": [],
30
- "foreign_key_models": []
31
- },
32
- MultipleCategoricalValueDistribution.__name__: {
33
- "dir": DISTRIBUTION_MULTIPLE_CATEGORICAL_DATA_DIR,
34
- "model": MultipleCategoricalValueDistribution,
35
- "foreign_keys": [],
36
- "foreign_key_models": []
37
- },
38
- DateValueDistribution.__name__: {
39
- "dir": DISTRIBUTION_DATE_DATA_DIR,
40
- "model": DateValueDistribution,
41
- "foreign_keys": [],
42
- "foreign_key_models": []
43
- },
44
- })
45
-
46
- class Command(BaseCommand):
47
- help = """Load all .yaml files in the data/intervention directory
48
- into the Intervention and InterventionType model"""
49
-
50
- def add_arguments(self, parser):
51
- parser.add_argument(
52
- '--verbose',
53
- action='store_true',
54
- help='Display verbose output',
55
- )
56
-
57
- def handle(self, *args, **options):
58
- verbose = options['verbose']
59
- for model_name in IMPORT_METADATA.keys():
60
- _metadata = IMPORT_METADATA[model_name]
61
- load_model_data_from_yaml(
62
- self,
63
- model_name,
64
- _metadata,
65
- verbose
1
+ from django.core.management.base import BaseCommand
2
+ from endoreg_db.models import (
3
+ NumericValueDistribution,
4
+ SingleCategoricalValueDistribution,
5
+ MultipleCategoricalValueDistribution,
6
+ DateValueDistribution
7
+
8
+ )
9
+ from collections import OrderedDict
10
+
11
+ from ...utils import load_model_data_from_yaml
12
+ from ...data import (
13
+ DISTRIBUTION_NUMERIC_DATA_DIR,
14
+ DISTRIBUTION_SINGLE_CATEGORICAL_DATA_DIR,
15
+ DISTRIBUTION_MULTIPLE_CATEGORICAL_DATA_DIR,
16
+ DISTRIBUTION_DATE_DATA_DIR,
17
+ )
18
+
19
+ IMPORT_METADATA = OrderedDict({
20
+ NumericValueDistribution.__name__: {
21
+ "dir": DISTRIBUTION_NUMERIC_DATA_DIR,
22
+ "model": NumericValueDistribution,
23
+ "foreign_keys": [],
24
+ "foreign_key_models": []
25
+ },
26
+ SingleCategoricalValueDistribution.__name__: {
27
+ "dir": DISTRIBUTION_SINGLE_CATEGORICAL_DATA_DIR,
28
+ "model": SingleCategoricalValueDistribution,
29
+ "foreign_keys": [],
30
+ "foreign_key_models": []
31
+ },
32
+ MultipleCategoricalValueDistribution.__name__: {
33
+ "dir": DISTRIBUTION_MULTIPLE_CATEGORICAL_DATA_DIR,
34
+ "model": MultipleCategoricalValueDistribution,
35
+ "foreign_keys": [],
36
+ "foreign_key_models": []
37
+ },
38
+ DateValueDistribution.__name__: {
39
+ "dir": DISTRIBUTION_DATE_DATA_DIR,
40
+ "model": DateValueDistribution,
41
+ "foreign_keys": [],
42
+ "foreign_key_models": []
43
+ },
44
+ })
45
+
46
+ class Command(BaseCommand):
47
+ help = """Load all .yaml files in the data/intervention directory
48
+ into the Intervention and InterventionType model"""
49
+
50
+ def add_arguments(self, parser):
51
+ parser.add_argument(
52
+ '--verbose',
53
+ action='store_true',
54
+ help='Display verbose output',
55
+ )
56
+
57
+ def handle(self, *args, **options):
58
+ verbose = options['verbose']
59
+ for model_name in IMPORT_METADATA.keys():
60
+ _metadata = IMPORT_METADATA[model_name]
61
+ load_model_data_from_yaml(
62
+ self,
63
+ model_name,
64
+ _metadata,
65
+ verbose
66
66
  )
@@ -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 EndoscopeType
5
- from ...utils import load_model_data_from_yaml
6
- from ...data import ENDOSCOPE_TYPE_DATA_DIR
7
-
8
- SOURCE_DIR = ENDOSCOPE_TYPE_DATA_DIR # e.g. settings.DATA_DIR_INTERVENTION
9
-
10
- MODEL_0 = EndoscopeType
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 EndoscopeType
5
+ from ...utils import load_model_data_from_yaml
6
+ from ...data import ENDOSCOPE_TYPE_DATA_DIR
7
+
8
+ SOURCE_DIR = ENDOSCOPE_TYPE_DATA_DIR # e.g. settings.DATA_DIR_INTERVENTION
9
+
10
+ MODEL_0 = EndoscopeType
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 EndoscopyProcessor
5
- from ...utils import load_model_data_from_yaml
6
- from ...data import ENDOSCOPY_PROCESSOR_DATA_DIR
7
-
8
- SOURCE_DIR = ENDOSCOPY_PROCESSOR_DATA_DIR # e.g. settings.DATA_DIR_INTERVENTION
9
-
10
- MODEL_0 = EndoscopyProcessor
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 EndoscopyProcessor
5
+ from ...utils import load_model_data_from_yaml
6
+ from ...data import ENDOSCOPY_PROCESSOR_DATA_DIR
7
+
8
+ SOURCE_DIR = ENDOSCOPY_PROCESSOR_DATA_DIR # e.g. settings.DATA_DIR_INTERVENTION
9
+
10
+ MODEL_0 = EndoscopyProcessor
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
  )