endoreg-db 0.8.8.0__py3-none-any.whl → 0.8.9.2__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.

Potentially problematic release.


This version of endoreg-db might be problematic. Click here for more details.

Files changed (402) hide show
  1. endoreg_db/data/__init__.py +22 -8
  2. endoreg_db/data/ai_model_meta/default_multilabel_classification.yaml +0 -1
  3. endoreg_db/data/examination/examinations/data.yaml +114 -14
  4. endoreg_db/data/examination/time-type/data.yaml +0 -3
  5. endoreg_db/data/examination_indication/endoscopy.yaml +108 -173
  6. endoreg_db/data/examination_indication_classification/endoscopy.yaml +0 -70
  7. endoreg_db/data/examination_indication_classification_choice/endoscopy.yaml +33 -37
  8. endoreg_db/data/finding/00_generic.yaml +35 -0
  9. endoreg_db/data/finding/00_generic_complication.yaml +9 -0
  10. endoreg_db/data/finding/01_gastroscopy_baseline.yaml +88 -0
  11. endoreg_db/data/finding/01_gastroscopy_observation.yaml +113 -0
  12. endoreg_db/data/finding/02_colonoscopy_baseline.yaml +53 -0
  13. endoreg_db/data/finding/02_colonoscopy_hidden.yaml +119 -0
  14. endoreg_db/data/finding/02_colonoscopy_observation.yaml +152 -0
  15. endoreg_db/data/finding_classification/00_generic.yaml +44 -0
  16. endoreg_db/data/finding_classification/00_generic_histology.yaml +28 -0
  17. endoreg_db/data/finding_classification/00_generic_lesion.yaml +52 -0
  18. endoreg_db/data/finding_classification/{colonoscopy_bowel_preparation.yaml → 02_colonoscopy_baseline.yaml} +35 -20
  19. endoreg_db/data/finding_classification/02_colonoscopy_histology.yaml +13 -0
  20. endoreg_db/data/finding_classification/02_colonoscopy_other.yaml +12 -0
  21. endoreg_db/data/finding_classification/02_colonoscopy_polyp.yaml +101 -0
  22. endoreg_db/data/finding_classification_choice/{yes_no_na.yaml → 00_generic.yaml} +5 -1
  23. endoreg_db/data/finding_classification_choice/{examination_setting_generic_types.yaml → 00_generic_baseline.yaml} +10 -2
  24. endoreg_db/data/finding_classification_choice/{complication_generic_types.yaml → 00_generic_complication.yaml} +1 -1
  25. endoreg_db/data/finding_classification_choice/{histology.yaml → 00_generic_histology.yaml} +1 -4
  26. endoreg_db/data/finding_classification_choice/00_generic_lesion.yaml +158 -0
  27. endoreg_db/data/finding_classification_choice/{bowel_preparation.yaml → 02_colonoscopy_bowel_preparation.yaml} +1 -30
  28. endoreg_db/data/{_examples/finding_classification_choice/colonoscopy_not_complete_reason.yaml → finding_classification_choice/02_colonoscopy_generic.yaml} +1 -1
  29. endoreg_db/data/finding_classification_choice/{histology_polyp.yaml → 02_colonoscopy_histology.yaml} +1 -1
  30. endoreg_db/data/{_examples/finding_classification_choice/colonoscopy_location.yaml → finding_classification_choice/02_colonoscopy_location.yaml} +23 -4
  31. endoreg_db/data/finding_classification_choice/02_colonoscopy_other.yaml +34 -0
  32. endoreg_db/data/finding_classification_choice/02_colonoscopy_polyp_advanced_imaging.yaml +76 -0
  33. endoreg_db/data/{_examples/finding_classification_choice/colon_lesion_paris.yaml → finding_classification_choice/02_colonoscopy_polyp_morphology.yaml} +26 -8
  34. endoreg_db/data/finding_classification_choice/02_colonoscopy_size.yaml +27 -0
  35. endoreg_db/data/finding_classification_type/{colonoscopy_basic.yaml → 00_generic.yaml} +18 -13
  36. endoreg_db/data/finding_classification_type/02_colonoscopy.yaml +9 -0
  37. endoreg_db/data/finding_intervention/00_generic_endoscopy.yaml +59 -0
  38. endoreg_db/data/finding_intervention/00_generic_endoscopy_ablation.yaml +44 -0
  39. endoreg_db/data/finding_intervention/00_generic_endoscopy_bleeding.yaml +55 -0
  40. endoreg_db/data/finding_intervention/00_generic_endoscopy_resection.yaml +85 -0
  41. endoreg_db/data/finding_intervention/00_generic_endoscopy_stenosis.yaml +17 -0
  42. endoreg_db/data/finding_intervention/00_generic_endoscopy_stent.yaml +9 -0
  43. endoreg_db/data/finding_intervention/01_gastroscopy.yaml +19 -0
  44. endoreg_db/data/finding_intervention/04_eus.yaml +39 -0
  45. endoreg_db/data/finding_intervention/05_ercp.yaml +3 -0
  46. endoreg_db/data/finding_type/data.yaml +8 -12
  47. endoreg_db/data/requirement/01_patient_data.yaml +93 -0
  48. endoreg_db/data/requirement_operator/new_operators.yaml +36 -0
  49. endoreg_db/data/requirement_set/01_endoscopy_generic.yaml +0 -2
  50. endoreg_db/data/requirement_set/90_coloreg.yaml +20 -8
  51. endoreg_db/exceptions.py +0 -1
  52. endoreg_db/forms/examination_form.py +1 -1
  53. endoreg_db/helpers/data_loader.py +124 -52
  54. endoreg_db/helpers/default_objects.py +116 -81
  55. endoreg_db/import_files/__init__.py +27 -0
  56. endoreg_db/import_files/context/__init__.py +7 -0
  57. endoreg_db/import_files/context/default_sensitive_meta.py +81 -0
  58. endoreg_db/import_files/context/ensure_center.py +17 -0
  59. endoreg_db/import_files/context/file_lock.py +66 -0
  60. endoreg_db/import_files/context/import_context.py +43 -0
  61. endoreg_db/import_files/context/validate_directories.py +56 -0
  62. endoreg_db/import_files/file_storage/__init__.py +15 -0
  63. endoreg_db/import_files/file_storage/create_report_file.py +76 -0
  64. endoreg_db/import_files/file_storage/create_video_file.py +75 -0
  65. endoreg_db/import_files/file_storage/sensitive_meta_storage.py +39 -0
  66. endoreg_db/import_files/file_storage/state_management.py +496 -0
  67. endoreg_db/import_files/file_storage/storage.py +36 -0
  68. endoreg_db/import_files/import_service.md +26 -0
  69. endoreg_db/import_files/processing/__init__.py +11 -0
  70. endoreg_db/import_files/processing/report_processing/report_anonymization.py +94 -0
  71. endoreg_db/import_files/processing/sensitive_meta_adapter.py +51 -0
  72. endoreg_db/import_files/processing/video_processing/video_anonymization.py +107 -0
  73. endoreg_db/import_files/pseudonymization/fake.py +52 -0
  74. endoreg_db/import_files/pseudonymization/k_anonymity.py +182 -0
  75. endoreg_db/import_files/pseudonymization/k_pseudonymity.py +128 -0
  76. endoreg_db/import_files/pseudonymization/pseudonymize.py +0 -0
  77. endoreg_db/import_files/report_import_service.py +141 -0
  78. endoreg_db/import_files/video_import_service.py +150 -0
  79. endoreg_db/management/commands/import_report.py +130 -65
  80. endoreg_db/management/commands/import_video_with_classification.py +1 -1
  81. endoreg_db/management/commands/load_ai_model_data.py +5 -5
  82. endoreg_db/management/commands/load_ai_model_label_data.py +9 -7
  83. endoreg_db/management/commands/load_base_db_data.py +5 -134
  84. endoreg_db/management/commands/load_contraindication_data.py +14 -16
  85. endoreg_db/management/commands/load_disease_classification_choices_data.py +15 -18
  86. endoreg_db/management/commands/load_disease_classification_data.py +15 -18
  87. endoreg_db/management/commands/load_disease_data.py +25 -28
  88. endoreg_db/management/commands/load_endoscope_data.py +20 -27
  89. endoreg_db/management/commands/load_event_data.py +14 -16
  90. endoreg_db/management/commands/load_examination_data.py +31 -44
  91. endoreg_db/management/commands/load_examination_indication_data.py +20 -21
  92. endoreg_db/management/commands/load_finding_data.py +52 -80
  93. endoreg_db/management/commands/load_information_source.py +21 -23
  94. endoreg_db/management/commands/load_lab_value_data.py +17 -26
  95. endoreg_db/management/commands/load_medication_data.py +13 -12
  96. endoreg_db/management/commands/load_organ_data.py +15 -19
  97. endoreg_db/management/commands/load_pdf_type_data.py +19 -18
  98. endoreg_db/management/commands/load_profession_data.py +14 -17
  99. endoreg_db/management/commands/load_qualification_data.py +20 -23
  100. endoreg_db/management/commands/load_report_reader_flag_data.py +17 -19
  101. endoreg_db/management/commands/load_requirement_data.py +14 -20
  102. endoreg_db/management/commands/load_risk_data.py +7 -6
  103. endoreg_db/management/commands/load_shift_data.py +20 -23
  104. endoreg_db/management/commands/load_tag_data.py +8 -11
  105. endoreg_db/management/commands/load_unit_data.py +17 -19
  106. endoreg_db/management/commands/start_filewatcher.py +46 -37
  107. endoreg_db/management/commands/validate_video_files.py +1 -5
  108. endoreg_db/migrations/0001_initial.py +1360 -1812
  109. endoreg_db/models/administration/person/patient/patient.py +72 -46
  110. endoreg_db/models/label/__init__.py +2 -2
  111. endoreg_db/models/label/annotation/video_segmentation_annotation.py +18 -26
  112. endoreg_db/models/label/label_video_segment/label_video_segment.py +23 -1
  113. endoreg_db/models/media/pdf/raw_pdf.py +136 -64
  114. endoreg_db/models/media/pdf/report_reader/report_reader_config.py +34 -10
  115. endoreg_db/models/media/processing_history/__init__.py +5 -0
  116. endoreg_db/models/media/processing_history/processing_history.py +96 -0
  117. endoreg_db/models/media/video/create_from_file.py +101 -31
  118. endoreg_db/models/media/video/video_file.py +125 -105
  119. endoreg_db/models/media/video/video_file_io.py +31 -26
  120. endoreg_db/models/medical/contraindication/README.md +1 -0
  121. endoreg_db/models/medical/examination/examination.py +28 -8
  122. endoreg_db/models/medical/examination/examination_indication.py +13 -79
  123. endoreg_db/models/medical/examination/examination_time.py +8 -3
  124. endoreg_db/models/medical/finding/finding.py +5 -12
  125. endoreg_db/models/medical/finding/finding_classification.py +18 -37
  126. endoreg_db/models/medical/finding/finding_intervention.py +7 -9
  127. endoreg_db/models/medical/hardware/endoscope.py +6 -0
  128. endoreg_db/models/medical/patient/medication_examples.py +5 -1
  129. endoreg_db/models/medical/patient/patient_finding.py +1 -1
  130. endoreg_db/models/metadata/pdf_meta.py +22 -10
  131. endoreg_db/models/metadata/sensitive_meta.py +3 -0
  132. endoreg_db/models/metadata/sensitive_meta_logic.py +200 -124
  133. endoreg_db/models/other/information_source.py +27 -6
  134. endoreg_db/models/report/__init__.py +0 -0
  135. endoreg_db/models/report/images.py +0 -0
  136. endoreg_db/models/report/report.py +6 -0
  137. endoreg_db/models/requirement/requirement.py +59 -399
  138. endoreg_db/models/requirement/requirement_operator.py +86 -98
  139. endoreg_db/models/state/audit_ledger.py +4 -5
  140. endoreg_db/models/state/raw_pdf.py +69 -30
  141. endoreg_db/models/state/video.py +65 -49
  142. endoreg_db/models/upload_job.py +33 -9
  143. endoreg_db/models/utils.py +27 -23
  144. endoreg_db/queries/__init__.py +3 -1
  145. endoreg_db/schemas/examination_evaluation.py +1 -1
  146. endoreg_db/serializers/__init__.py +2 -8
  147. endoreg_db/serializers/label_video_segment/label_video_segment.py +2 -29
  148. endoreg_db/serializers/meta/__init__.py +1 -6
  149. endoreg_db/serializers/misc/sensitive_patient_data.py +50 -26
  150. endoreg_db/serializers/patient_examination/patient_examination.py +3 -3
  151. endoreg_db/serializers/pdf/anony_text_validation.py +39 -23
  152. endoreg_db/serializers/video/video_file_list.py +65 -34
  153. endoreg_db/services/__old/pdf_import.py +1487 -0
  154. endoreg_db/services/__old/video_import.py +1306 -0
  155. endoreg_db/services/anonymization.py +63 -26
  156. endoreg_db/services/lookup_service.py +28 -28
  157. endoreg_db/services/lookup_store.py +2 -2
  158. endoreg_db/services/pdf_import.py +0 -1480
  159. endoreg_db/services/report_import.py +10 -0
  160. endoreg_db/services/video_import.py +6 -1165
  161. endoreg_db/tasks/upload_tasks.py +79 -70
  162. endoreg_db/tasks/video_ingest.py +8 -4
  163. endoreg_db/urls/__init__.py +0 -14
  164. endoreg_db/urls/ai.py +32 -0
  165. endoreg_db/urls/media.py +21 -24
  166. endoreg_db/utils/dataloader.py +87 -57
  167. endoreg_db/utils/paths.py +110 -46
  168. endoreg_db/utils/pipelines/Readme.md +1 -1
  169. endoreg_db/utils/requirement_operator_logic/new_operator_logic.py +97 -0
  170. endoreg_db/utils/video/ffmpeg_wrapper.py +217 -52
  171. endoreg_db/views/__init__.py +85 -173
  172. endoreg_db/views/ai/__init__.py +8 -0
  173. endoreg_db/views/ai/label.py +155 -0
  174. endoreg_db/views/anonymization/media_management.py +8 -7
  175. endoreg_db/views/anonymization/overview.py +97 -68
  176. endoreg_db/views/anonymization/validate.py +25 -21
  177. endoreg_db/views/media/__init__.py +5 -20
  178. endoreg_db/views/media/pdf_media.py +109 -65
  179. endoreg_db/views/media/sensitive_metadata.py +163 -148
  180. endoreg_db/views/meta/__init__.py +0 -8
  181. endoreg_db/views/misc/__init__.py +1 -7
  182. endoreg_db/views/misc/upload_views.py +94 -93
  183. endoreg_db/views/report/__init__.py +7 -0
  184. endoreg_db/views/{pdf → report}/reimport.py +45 -24
  185. endoreg_db/views/{pdf/pdf_stream.py → report/report_stream.py} +40 -32
  186. endoreg_db/views/requirement/lookup_store.py +22 -90
  187. endoreg_db/views/video/__init__.py +23 -22
  188. endoreg_db/views/video/correction.py +201 -172
  189. endoreg_db/views/video/reimport.py +1 -1
  190. endoreg_db/views/{media/video_segments.py → video/segments_crud.py} +75 -37
  191. endoreg_db/views/video/{video_meta.py → video_meta_stats.py} +2 -2
  192. endoreg_db/views/video/video_stream.py +7 -8
  193. {endoreg_db-0.8.8.0.dist-info → endoreg_db-0.8.9.2.dist-info}/METADATA +2 -2
  194. {endoreg_db-0.8.8.0.dist-info → endoreg_db-0.8.9.2.dist-info}/RECORD +217 -335
  195. {endoreg_db-0.8.8.0.dist-info → endoreg_db-0.8.9.2.dist-info}/WHEEL +1 -1
  196. endoreg_db/data/_examples/disease.yaml +0 -55
  197. endoreg_db/data/_examples/disease_classification.yaml +0 -13
  198. endoreg_db/data/_examples/disease_classification_choice.yaml +0 -62
  199. endoreg_db/data/_examples/event.yaml +0 -64
  200. endoreg_db/data/_examples/examination.yaml +0 -72
  201. endoreg_db/data/_examples/finding/anatomy_colon.yaml +0 -128
  202. endoreg_db/data/_examples/finding/colonoscopy.yaml +0 -40
  203. endoreg_db/data/_examples/finding/colonoscopy_bowel_prep.yaml +0 -56
  204. endoreg_db/data/_examples/finding/complication.yaml +0 -16
  205. endoreg_db/data/_examples/finding/data.yaml +0 -105
  206. endoreg_db/data/_examples/finding/examination_setting.yaml +0 -16
  207. endoreg_db/data/_examples/finding/medication_related.yaml +0 -18
  208. endoreg_db/data/_examples/finding/outcome.yaml +0 -12
  209. endoreg_db/data/_examples/finding_classification/colonoscopy_bowel_preparation.yaml +0 -68
  210. endoreg_db/data/_examples/finding_classification/colonoscopy_jnet.yaml +0 -22
  211. endoreg_db/data/_examples/finding_classification/colonoscopy_kudo.yaml +0 -25
  212. endoreg_db/data/_examples/finding_classification/colonoscopy_lesion_circularity.yaml +0 -20
  213. endoreg_db/data/_examples/finding_classification/colonoscopy_lesion_planarity.yaml +0 -24
  214. endoreg_db/data/_examples/finding_classification/colonoscopy_lesion_size.yaml +0 -68
  215. endoreg_db/data/_examples/finding_classification/colonoscopy_lesion_surface.yaml +0 -20
  216. endoreg_db/data/_examples/finding_classification/colonoscopy_location.yaml +0 -80
  217. endoreg_db/data/_examples/finding_classification/colonoscopy_lst.yaml +0 -21
  218. endoreg_db/data/_examples/finding_classification/colonoscopy_nice.yaml +0 -20
  219. endoreg_db/data/_examples/finding_classification/colonoscopy_paris.yaml +0 -26
  220. endoreg_db/data/_examples/finding_classification/colonoscopy_sano.yaml +0 -22
  221. endoreg_db/data/_examples/finding_classification/colonoscopy_summary.yaml +0 -53
  222. endoreg_db/data/_examples/finding_classification/complication_generic.yaml +0 -25
  223. endoreg_db/data/_examples/finding_classification/examination_setting_generic.yaml +0 -40
  224. endoreg_db/data/_examples/finding_classification/histology_colo.yaml +0 -51
  225. endoreg_db/data/_examples/finding_classification/intervention_required.yaml +0 -26
  226. endoreg_db/data/_examples/finding_classification/medication_related.yaml +0 -23
  227. endoreg_db/data/_examples/finding_classification/visualized.yaml +0 -33
  228. endoreg_db/data/_examples/finding_classification_choice/bowel_preparation.yaml +0 -78
  229. endoreg_db/data/_examples/finding_classification_choice/colon_lesion_circularity_default.yaml +0 -32
  230. endoreg_db/data/_examples/finding_classification_choice/colon_lesion_jnet.yaml +0 -15
  231. endoreg_db/data/_examples/finding_classification_choice/colon_lesion_kudo.yaml +0 -23
  232. endoreg_db/data/_examples/finding_classification_choice/colon_lesion_lst.yaml +0 -15
  233. endoreg_db/data/_examples/finding_classification_choice/colon_lesion_nice.yaml +0 -17
  234. endoreg_db/data/_examples/finding_classification_choice/colon_lesion_planarity_default.yaml +0 -49
  235. endoreg_db/data/_examples/finding_classification_choice/colon_lesion_sano.yaml +0 -14
  236. endoreg_db/data/_examples/finding_classification_choice/colon_lesion_surface_intact_default.yaml +0 -36
  237. endoreg_db/data/_examples/finding_classification_choice/colonoscopy_size.yaml +0 -82
  238. endoreg_db/data/_examples/finding_classification_choice/colonoscopy_summary_worst_finding.yaml +0 -15
  239. endoreg_db/data/_examples/finding_classification_choice/complication_generic_types.yaml +0 -15
  240. endoreg_db/data/_examples/finding_classification_choice/examination_setting_generic_types.yaml +0 -15
  241. endoreg_db/data/_examples/finding_classification_choice/histology.yaml +0 -24
  242. endoreg_db/data/_examples/finding_classification_choice/histology_polyp.yaml +0 -20
  243. endoreg_db/data/_examples/finding_classification_choice/outcome.yaml +0 -19
  244. endoreg_db/data/_examples/finding_classification_choice/yes_no_na.yaml +0 -11
  245. endoreg_db/data/_examples/finding_classification_type/colonoscopy_basic.yaml +0 -48
  246. endoreg_db/data/_examples/finding_intervention/endoscopy.yaml +0 -43
  247. endoreg_db/data/_examples/finding_intervention/endoscopy_colonoscopy.yaml +0 -168
  248. endoreg_db/data/_examples/finding_intervention/endoscopy_egd.yaml +0 -128
  249. endoreg_db/data/_examples/finding_intervention/endoscopy_ercp.yaml +0 -32
  250. endoreg_db/data/_examples/finding_intervention/endoscopy_eus_lower.yaml +0 -9
  251. endoreg_db/data/_examples/finding_intervention/endoscopy_eus_upper.yaml +0 -36
  252. endoreg_db/data/_examples/finding_intervention_type/endoscopy.yaml +0 -15
  253. endoreg_db/data/_examples/finding_type/data.yaml +0 -43
  254. endoreg_db/data/_examples/requirement/age.yaml +0 -26
  255. endoreg_db/data/_examples/requirement/gender.yaml +0 -25
  256. endoreg_db/data/_examples/requirement_set/01_endoscopy_generic.yaml +0 -48
  257. endoreg_db/data/_examples/requirement_set/colonoscopy_austria_screening.yaml +0 -57
  258. endoreg_db/data/_examples/requirement_set/endoscopy_bleeding_risk.yaml +0 -52
  259. endoreg_db/data/_examples/yaml_examples.xlsx +0 -0
  260. endoreg_db/data/finding/anatomy_colon.yaml +0 -128
  261. endoreg_db/data/finding/colonoscopy.yaml +0 -40
  262. endoreg_db/data/finding/colonoscopy_bowel_prep.yaml +0 -56
  263. endoreg_db/data/finding/complication.yaml +0 -16
  264. endoreg_db/data/finding/data.yaml +0 -105
  265. endoreg_db/data/finding/examination_setting.yaml +0 -16
  266. endoreg_db/data/finding/medication_related.yaml +0 -18
  267. endoreg_db/data/finding/outcome.yaml +0 -12
  268. endoreg_db/data/finding_classification/colonoscopy_jnet.yaml +0 -22
  269. endoreg_db/data/finding_classification/colonoscopy_kudo.yaml +0 -25
  270. endoreg_db/data/finding_classification/colonoscopy_lesion_circularity.yaml +0 -20
  271. endoreg_db/data/finding_classification/colonoscopy_lesion_planarity.yaml +0 -24
  272. endoreg_db/data/finding_classification/colonoscopy_lesion_size.yaml +0 -38
  273. endoreg_db/data/finding_classification/colonoscopy_lesion_surface.yaml +0 -20
  274. endoreg_db/data/finding_classification/colonoscopy_location.yaml +0 -49
  275. endoreg_db/data/finding_classification/colonoscopy_lst.yaml +0 -21
  276. endoreg_db/data/finding_classification/colonoscopy_nice.yaml +0 -20
  277. endoreg_db/data/finding_classification/colonoscopy_paris.yaml +0 -26
  278. endoreg_db/data/finding_classification/colonoscopy_sano.yaml +0 -22
  279. endoreg_db/data/finding_classification/colonoscopy_summary.yaml +0 -53
  280. endoreg_db/data/finding_classification/complication_generic.yaml +0 -25
  281. endoreg_db/data/finding_classification/examination_setting_generic.yaml +0 -40
  282. endoreg_db/data/finding_classification/histology_colo.yaml +0 -43
  283. endoreg_db/data/finding_classification/intervention_required.yaml +0 -26
  284. endoreg_db/data/finding_classification/medication_related.yaml +0 -23
  285. endoreg_db/data/finding_classification/visualized.yaml +0 -33
  286. endoreg_db/data/finding_classification_choice/colon_lesion_circularity_default.yaml +0 -32
  287. endoreg_db/data/finding_classification_choice/colon_lesion_jnet.yaml +0 -15
  288. endoreg_db/data/finding_classification_choice/colon_lesion_kudo.yaml +0 -23
  289. endoreg_db/data/finding_classification_choice/colon_lesion_lst.yaml +0 -15
  290. endoreg_db/data/finding_classification_choice/colon_lesion_nice.yaml +0 -17
  291. endoreg_db/data/finding_classification_choice/colon_lesion_paris.yaml +0 -57
  292. endoreg_db/data/finding_classification_choice/colon_lesion_planarity_default.yaml +0 -49
  293. endoreg_db/data/finding_classification_choice/colon_lesion_sano.yaml +0 -14
  294. endoreg_db/data/finding_classification_choice/colon_lesion_surface_intact_default.yaml +0 -36
  295. endoreg_db/data/finding_classification_choice/colonoscopy_location.yaml +0 -229
  296. endoreg_db/data/finding_classification_choice/colonoscopy_not_complete_reason.yaml +0 -19
  297. endoreg_db/data/finding_classification_choice/colonoscopy_size.yaml +0 -82
  298. endoreg_db/data/finding_classification_choice/colonoscopy_summary_worst_finding.yaml +0 -15
  299. endoreg_db/data/finding_classification_choice/outcome.yaml +0 -19
  300. endoreg_db/data/finding_intervention/endoscopy.yaml +0 -43
  301. endoreg_db/data/finding_intervention/endoscopy_colonoscopy.yaml +0 -168
  302. endoreg_db/data/finding_intervention/endoscopy_egd.yaml +0 -128
  303. endoreg_db/data/finding_intervention/endoscopy_ercp.yaml +0 -32
  304. endoreg_db/data/finding_intervention/endoscopy_eus_lower.yaml +0 -9
  305. endoreg_db/data/finding_intervention/endoscopy_eus_upper.yaml +0 -36
  306. endoreg_db/data/finding_morphology_classification_type/colonoscopy.yaml +0 -79
  307. endoreg_db/data/requirement/age.yaml +0 -26
  308. endoreg_db/data/requirement/colonoscopy_baseline_austria.yaml +0 -45
  309. endoreg_db/data/requirement/disease_cardiovascular.yaml +0 -79
  310. endoreg_db/data/requirement/disease_classification_choice_cardiovascular.yaml +0 -41
  311. endoreg_db/data/requirement/disease_hepatology.yaml +0 -12
  312. endoreg_db/data/requirement/disease_misc.yaml +0 -12
  313. endoreg_db/data/requirement/disease_renal.yaml +0 -96
  314. endoreg_db/data/requirement/endoscopy_bleeding_risk.yaml +0 -59
  315. endoreg_db/data/requirement/event_cardiology.yaml +0 -251
  316. endoreg_db/data/requirement/event_requirements.yaml +0 -145
  317. endoreg_db/data/requirement/finding_colon_polyp.yaml +0 -50
  318. endoreg_db/data/requirement/gender.yaml +0 -25
  319. endoreg_db/data/requirement/lab_value.yaml +0 -441
  320. endoreg_db/data/requirement/medication.yaml +0 -93
  321. endoreg_db/data/requirement_operator/age.yaml +0 -13
  322. endoreg_db/data/requirement_operator/lab_operators.yaml +0 -129
  323. endoreg_db/data/requirement_operator/model_operators.yaml +0 -96
  324. endoreg_db/management/commands/init_default_ai_model.py +0 -112
  325. endoreg_db/management/commands/reset_celery_schedule.py +0 -9
  326. endoreg_db/management/commands/validate_video.py +0 -204
  327. endoreg_db/migrations/0002_requirementset_depends_on.py +0 -18
  328. endoreg_db/migrations/_old/0001_initial.py +0 -1857
  329. endoreg_db/migrations/_old/0002_add_video_correction_models.py +0 -52
  330. endoreg_db/migrations/_old/0003_add_center_display_name.py +0 -30
  331. endoreg_db/migrations/_old/0004_employee_city_employee_post_code_employee_street_and_more.py +0 -68
  332. endoreg_db/migrations/_old/0004_remove_casetemplate_rules_and_more.py +0 -77
  333. endoreg_db/migrations/_old/0005_merge_20251111_1003.py +0 -14
  334. endoreg_db/migrations/_old/0006_sensitivemeta_anonymized_text_and_more.py +0 -68
  335. endoreg_db/migrations/_old/0007_remove_rule_attribute_dtype_remove_rule_rule_type_and_more.py +0 -89
  336. endoreg_db/migrations/_old/0008_remove_event_event_classification_and_more.py +0 -27
  337. endoreg_db/migrations/_old/0009_alter_modelmeta_options_and_more.py +0 -21
  338. endoreg_db/renames.yml +0 -8
  339. endoreg_db/serializers/_old/raw_pdf_meta_validation.py +0 -223
  340. endoreg_db/serializers/_old/raw_video_meta_validation.py +0 -179
  341. endoreg_db/serializers/_old/video.py +0 -71
  342. endoreg_db/serializers/meta/pdf_file_meta_extraction.py +0 -115
  343. endoreg_db/serializers/meta/report_meta.py +0 -53
  344. endoreg_db/serializers/report/__init__.py +0 -9
  345. endoreg_db/serializers/report/mixins.py +0 -45
  346. endoreg_db/serializers/report/report.py +0 -105
  347. endoreg_db/serializers/report/report_list.py +0 -22
  348. endoreg_db/serializers/report/secure_file_url.py +0 -26
  349. endoreg_db/services/requirements_object.py +0 -147
  350. endoreg_db/services/storage_aware_video_processor.py +0 -370
  351. endoreg_db/urls/files.py +0 -6
  352. endoreg_db/urls/label_video_segment_validate.py +0 -33
  353. endoreg_db/urls/label_video_segments.py +0 -46
  354. endoreg_db/views/label/__init__.py +0 -5
  355. endoreg_db/views/label/label.py +0 -15
  356. endoreg_db/views/label_video_segment/__init__.py +0 -16
  357. endoreg_db/views/label_video_segment/create_lvs_from_annotation.py +0 -44
  358. endoreg_db/views/label_video_segment/get_lvs_by_name_and_video.py +0 -50
  359. endoreg_db/views/label_video_segment/label_video_segment.py +0 -77
  360. endoreg_db/views/label_video_segment/label_video_segment_by_label.py +0 -174
  361. endoreg_db/views/label_video_segment/label_video_segment_detail.py +0 -73
  362. endoreg_db/views/label_video_segment/update_lvs_from_annotation.py +0 -46
  363. endoreg_db/views/label_video_segment/validate.py +0 -226
  364. endoreg_db/views/media/segments.py +0 -71
  365. endoreg_db/views/meta/available_files_list.py +0 -146
  366. endoreg_db/views/meta/report_meta.py +0 -53
  367. endoreg_db/views/meta/sensitive_meta_detail.py +0 -85
  368. endoreg_db/views/misc/secure_file_serving_view.py +0 -80
  369. endoreg_db/views/misc/secure_file_url_view.py +0 -84
  370. endoreg_db/views/misc/secure_url_validate.py +0 -79
  371. endoreg_db/views/patient_examination/DEPRECATED_video_backup.py +0 -164
  372. endoreg_db/views/patient_finding_location/__init__.py +0 -5
  373. endoreg_db/views/patient_finding_location/pfl_create.py +0 -70
  374. endoreg_db/views/patient_finding_morphology/__init__.py +0 -5
  375. endoreg_db/views/patient_finding_morphology/pfm_create.py +0 -70
  376. endoreg_db/views/pdf/__init__.py +0 -8
  377. endoreg_db/views/video/segmentation.py +0 -274
  378. endoreg_db/views/video/task_status.py +0 -49
  379. endoreg_db/views/video/timeline.py +0 -46
  380. endoreg_db/views/video/video_analyze.py +0 -52
  381. /endoreg_db/data/requirement/{colon_polyp_intervention.yaml → old/colon_polyp_intervention.yaml} +0 -0
  382. /endoreg_db/data/{_examples/requirement → requirement/old}/colonoscopy_baseline_austria.yaml +0 -0
  383. /endoreg_db/data/requirement/{coloreg_colon_polyp.yaml → old/coloreg_colon_polyp.yaml} +0 -0
  384. /endoreg_db/data/{_examples/requirement → requirement/old}/disease_cardiovascular.yaml +0 -0
  385. /endoreg_db/data/{_examples/requirement → requirement/old}/disease_classification_choice_cardiovascular.yaml +0 -0
  386. /endoreg_db/data/{_examples/requirement → requirement/old}/disease_hepatology.yaml +0 -0
  387. /endoreg_db/data/{_examples/requirement → requirement/old}/disease_misc.yaml +0 -0
  388. /endoreg_db/data/{_examples/requirement → requirement/old}/disease_renal.yaml +0 -0
  389. /endoreg_db/data/{_examples/requirement → requirement/old}/endoscopy_bleeding_risk.yaml +0 -0
  390. /endoreg_db/data/{_examples/requirement → requirement/old}/event_cardiology.yaml +0 -0
  391. /endoreg_db/data/{_examples/requirement → requirement/old}/event_requirements.yaml +0 -0
  392. /endoreg_db/data/{_examples/requirement → requirement/old}/finding_colon_polyp.yaml +0 -0
  393. /endoreg_db/{urls/sensitive_meta.py → data/requirement/old/gender.yaml} +0 -0
  394. /endoreg_db/data/{_examples/requirement → requirement/old}/lab_value.yaml +0 -0
  395. /endoreg_db/data/{_examples/requirement → requirement/old}/medication.yaml +0 -0
  396. /endoreg_db/data/{_examples/requirement_operator → requirement_operator/_old}/age.yaml +0 -0
  397. /endoreg_db/data/{_examples/requirement_operator → requirement_operator/_old}/lab_operators.yaml +0 -0
  398. /endoreg_db/data/{_examples/requirement_operator → requirement_operator/_old}/model_operators.yaml +0 -0
  399. /endoreg_db/{views/pdf/pdf_stream_views.py → import_files/pseudonymization/__init__.py} +0 -0
  400. /endoreg_db/utils/requirement_operator_logic/{lab_value_operators.py → _old/lab_value_operators.py} +0 -0
  401. /endoreg_db/utils/requirement_operator_logic/{model_evaluators.py → _old/model_evaluators.py} +0 -0
  402. {endoreg_db-0.8.8.0.dist-info → endoreg_db-0.8.9.2.dist-info}/licenses/LICENSE +0 -0
@@ -1,27 +1,29 @@
1
- from django.conf import settings
2
1
  import os
3
- from django.core.management.base import BaseCommand
4
2
 
5
3
  import yaml
6
- from ...utils import load_model_data_from_yaml
4
+ from django.conf import settings
5
+ from django.core.management.base import BaseCommand
7
6
 
7
+ from ...data import REPORT_TYPE_DATA_DIR
8
8
 
9
9
  #### CUSTOMIZE
10
10
  from ...models import PdfType, ReportReaderFlag
11
- from ...data import PDF_TYPE_DATA_DIR
11
+ from ...utils import load_model_data_from_yaml
12
12
 
13
- SOURCE_DIR = PDF_TYPE_DATA_DIR # e.g. settings.DATA_DIR_INTERVENTION
13
+ SOURCE_DIR = REPORT_TYPE_DATA_DIR # e.g. settings.DATA_DIR_INTERVENTION
14
14
 
15
15
  MODEL_0 = PdfType
16
16
 
17
- IMPORT_MODELS = [ # string as model key, serves as key in IMPORT_METADATA
17
+ IMPORT_MODELS = [ # string as model key, serves as key in IMPORT_METADATA
18
18
  MODEL_0.__name__,
19
19
  ]
20
20
 
21
21
  IMPORT_METADATA = {
22
22
  MODEL_0.__name__: {
23
- "dir": SOURCE_DIR, # e.g. "interventions"
24
- "model": MODEL_0, # e.g. Intervention
23
+ "dir": SOURCE_DIR, # e.g. "interventions"
24
+ "model": MODEL_0, # e.g. Intervention
25
+ "dir": SOURCE_DIR, # e.g. "interventions"
26
+ "model": MODEL_0,
25
27
  "foreign_keys": [
26
28
  "patient_info_line",
27
29
  "endoscope_info_line",
@@ -39,23 +41,22 @@ IMPORT_METADATA = {
39
41
  }
40
42
  }
41
43
 
44
+
42
45
  class Command(BaseCommand):
43
46
  help = f"""Load all .yaml files in the {SOURCE_DIR} directory"""
44
47
 
45
48
  def add_arguments(self, parser):
46
49
  parser.add_argument(
47
- '--verbose',
48
- action='store_true',
49
- help='Display verbose output',
50
+ "--verbose",
51
+ action="store_true",
52
+ help="Display verbose output",
50
53
  )
51
54
 
52
55
  def handle(self, *args, **options):
53
- verbose = options['verbose']
56
+ verbose = options["verbose"]
57
+ verbose = options["verbose"]
54
58
  for model_name in IMPORT_MODELS:
55
59
  _metadata = IMPORT_METADATA[model_name]
56
- load_model_data_from_yaml(
57
- self,
58
- model_name,
59
- _metadata,
60
- verbose
61
- )
60
+ load_model_data_from_yaml(self, model_name, _metadata, verbose)
61
+
62
+ load_model_data_from_yaml(self, model_name, _metadata, verbose)
@@ -1,44 +1,41 @@
1
1
  from django.conf import settings
2
2
  from django.core.management.base import BaseCommand
3
+
4
+ from ...data import PROFESSION_DATA_DIR
3
5
  from ...models import Profession
4
6
  from ...utils import load_model_data_from_yaml
5
- from ...data import PROFESSION_DATA_DIR
6
7
 
7
- SOURCE_DIR = PROFESSION_DATA_DIR # e.g. settings.DATA_DIR_INTERVENTION
8
+ SOURCE_DIR = PROFESSION_DATA_DIR # e.g. settings.DATA_DIR_INTERVENTION
8
9
 
9
10
  MODEL_0 = Profession
10
11
 
11
- IMPORT_MODELS = [ # string as model key, serves as key in IMPORT_METADATA
12
+ IMPORT_MODELS = [ # string as model key, serves as key in IMPORT_METADATA
12
13
  MODEL_0.__name__,
13
14
  ]
14
15
 
15
16
  IMPORT_METADATA = {
16
17
  MODEL_0.__name__: {
17
- "dir": SOURCE_DIR, # e.g. "interventions"
18
- "model": MODEL_0, # e.g. Intervention
19
- "foreign_keys": [], # e.g. ["intervention_types"]
20
- "foreign_key_models": [] # e.g. [InterventionType]
18
+ "dir": SOURCE_DIR, # e.g. "interventions"
19
+ "model": MODEL_0,
20
+ "foreign_keys": [], # e.g. ["intervention_types"]
21
+ "foreign_key_models": [], # e.g. [InterventionType]
21
22
  }
22
23
  }
23
24
 
25
+
24
26
  class Command(BaseCommand):
25
27
  help = """Load all .yaml files in the data/intervention directory
26
28
  into the Intervention and InterventionType model"""
27
29
 
28
30
  def add_arguments(self, parser):
29
31
  parser.add_argument(
30
- '--verbose',
31
- action='store_true',
32
- help='Display verbose output',
32
+ "--verbose",
33
+ action="store_true",
34
+ help="Display verbose output",
33
35
  )
34
36
 
35
37
  def handle(self, *args, **options):
36
- verbose = options['verbose']
38
+ verbose = options["verbose"]
37
39
  for model_name in IMPORT_MODELS:
38
40
  _metadata = IMPORT_METADATA[model_name]
39
- load_model_data_from_yaml(
40
- self,
41
- model_name,
42
- _metadata,
43
- verbose
44
- )
41
+ load_model_data_from_yaml(self, model_name, _metadata, verbose)
@@ -1,33 +1,35 @@
1
1
  from django.core.management.base import BaseCommand
2
+
3
+ from ...data import QUALIFICATION_DATA_DIR
2
4
  from ...models import Qualification, QualificationType
3
5
  from ...utils import load_model_data_from_yaml
4
- from ...data import QUALIFICATION_DATA_DIR
5
6
 
6
- SOURCE_DIR = QUALIFICATION_DATA_DIR # qualification data directory
7
+ SOURCE_DIR = QUALIFICATION_DATA_DIR # qualification data directory
7
8
 
8
9
  model_0 = QualificationType
9
10
  model_1 = Qualification
10
11
 
11
- IMPORT_MODELS = [ # string as model key, serves as key in IMPORT_METADATA
12
+ IMPORT_MODELS = [ # string as model key, serves as key in IMPORT_METADATA
12
13
  model_0.__name__,
13
14
  model_1.__name__,
14
15
  ]
15
16
 
16
17
  IMPORT_METADATA = {
17
18
  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]
19
+ "dir": SOURCE_DIR, # e.g. "interventions"
20
+ "model": model_0,
21
+ "foreign_keys": [], # e.g. ["intervention_types"]
22
+ "foreign_key_models": [], # e.g. [InterventionType]
22
23
  },
23
24
  model_1.__name__: {
24
- "dir": SOURCE_DIR, # e.g. "interventions"
25
- "model": model_1, # e.g. Intervention
26
- "foreign_keys": ["qualification_types"], # e.g. ["intervention_types"]
27
- "foreign_key_models": [model_0] # e.g. [InterventionType]
28
- }
25
+ "dir": SOURCE_DIR, # e.g. "interventions"
26
+ "model": model_1,
27
+ "foreign_keys": ["qualification_types"], # e.g. ["intervention_types"]
28
+ "foreign_key_models": [model_0], # e.g. [InterventionType]
29
+ },
29
30
  }
30
31
 
32
+
31
33
  class Command(BaseCommand):
32
34
  help = """Load all .yaml files in the data/qualification directory
33
35
  into the Qualification / Qualification Type model"""
@@ -37,23 +39,18 @@ class Command(BaseCommand):
37
39
  Adds the --verbose flag to the command-line parser to enable detailed output.
38
40
  """
39
41
  parser.add_argument(
40
- '--verbose',
41
- action='store_true',
42
- help='Display verbose output',
42
+ "--verbose",
43
+ action="store_true",
44
+ help="Display verbose output",
43
45
  )
44
46
 
45
47
  def handle(self, *args, **options):
46
48
  """
47
49
  Loads data from YAML files into the QualificationType and Qualification models.
48
-
50
+
49
51
  Iterates over predefined models and imports their data from YAML files using associated metadata. Supports verbose output if enabled via command-line options.
50
52
  """
51
- verbose = options['verbose']
53
+ verbose = options["verbose"]
52
54
  for model_name in IMPORT_MODELS:
53
55
  _metadata = IMPORT_METADATA[model_name]
54
- load_model_data_from_yaml(
55
- self,
56
- model_name,
57
- _metadata,
58
- verbose
59
- )
56
+ load_model_data_from_yaml(self, model_name, _metadata, verbose)
@@ -1,46 +1,44 @@
1
- from django.conf import settings
2
1
  import os
2
+
3
+ import yaml
4
+ from django.conf import settings
3
5
  from django.core.management.base import BaseCommand
6
+
7
+ from ...data import REPORT_READER_FLAG_DATA_DIR
4
8
  from ...models import ReportReaderFlag
5
- import yaml
6
9
  from ...utils import load_model_data_from_yaml
7
- from ...data import REPORT_READER_FLAG_DATA_DIR
8
10
 
9
- SOURCE_DIR = REPORT_READER_FLAG_DATA_DIR # e.g. settings.DATA_DIR_INTERVENTION
11
+ SOURCE_DIR = REPORT_READER_FLAG_DATA_DIR # e.g. settings.DATA_DIR_INTERVENTION
10
12
 
11
13
  MODEL_0 = ReportReaderFlag
12
14
 
13
- IMPORT_MODELS = [ # string as model key, serves as key in IMPORT_METADATA
15
+ IMPORT_MODELS = [ # string as model key, serves as key in IMPORT_METADATA
14
16
  MODEL_0.__name__,
15
17
  ]
16
18
 
17
19
  IMPORT_METADATA = {
18
20
  MODEL_0.__name__: {
19
- "dir": SOURCE_DIR, # e.g. "interventions"
20
- "model": MODEL_0, # e.g. Intervention
21
- "foreign_keys": [], # e.g. ["intervention_types"]
22
- "foreign_key_models": [] # e.g. [InterventionType]
21
+ "dir": SOURCE_DIR, # e.g. "interventions"
22
+ "model": MODEL_0,
23
+ "foreign_keys": [], # e.g. ["intervention_types"]
24
+ "foreign_key_models": [], # e.g. [InterventionType]
23
25
  }
24
26
  }
25
27
 
28
+
26
29
  class Command(BaseCommand):
27
30
  help = """Load all .yaml files in the data/intervention directory
28
31
  into the Intervention and InterventionType model"""
29
32
 
30
33
  def add_arguments(self, parser):
31
34
  parser.add_argument(
32
- '--verbose',
33
- action='store_true',
34
- help='Display verbose output',
35
+ "--verbose",
36
+ action="store_true",
37
+ help="Display verbose output",
35
38
  )
36
39
 
37
40
  def handle(self, *args, **options):
38
- verbose = options['verbose']
41
+ verbose = options["verbose"]
39
42
  for model_name in IMPORT_MODELS:
40
43
  _metadata = IMPORT_METADATA[model_name]
41
- load_model_data_from_yaml(
42
- self,
43
- model_name,
44
- _metadata,
45
- verbose
46
- )
44
+ load_model_data_from_yaml(self, model_name, _metadata, verbose)
@@ -45,7 +45,7 @@ IMPORT_MODELS = [ # string as model key, serves as key in IMPORT_METADATA
45
45
  RequirementOperator.__name__,
46
46
  Requirement.__name__,
47
47
  RequirementSetType.__name__,
48
- ExaminationRequirementSet.__name__,
48
+ # ExaminationRequirementSet.__name__,
49
49
  RequirementSet.__name__,
50
50
  ]
51
51
 
@@ -62,46 +62,38 @@ def _validate_requirement_configuration(fields: dict, *, entry: dict, model):
62
62
  return True
63
63
  return any(not item for item in value)
64
64
 
65
- missing = [
66
- key for key in ("requirement_types", "operators") if _values_missing(key)
67
- ]
65
+ missing = [key for key in ("requirement_types", "operators") if _values_missing(key)]
68
66
  if missing:
69
67
  missing_display = ", ".join(missing)
70
- raise ValueError(
71
- f"{model.__name__} '{name}' is missing required configuration for: {missing_display}."
72
- )
68
+ raise ValueError(f"{model.__name__} '{name}' is missing required configuration for: {missing_display}.")
73
69
 
74
70
 
75
71
  IMPORT_METADATA = {
76
72
  RequirementType.__name__: {
77
73
  "dir": REQUIREMENT_TYPE_DATA_DIR, # e.g. "interventions"
78
- "model": RequirementType, # e.g. Intervention
74
+ "model": RequirementType,
79
75
  "foreign_keys": [], # e.g. ["intervention_types"]
80
76
  "foreign_key_models": [], # e.g. [InterventionType]
81
77
  },
82
78
  RequirementOperator.__name__: {
83
79
  "dir": REQUIREMENT_OPERATOR_DATA_DIR, # e.g. "interventions"
84
- "model": RequirementOperator, # e.g. Intervention
80
+ "model": RequirementOperator,
85
81
  "foreign_keys": [], # e.g. ["intervention_types"]
86
82
  "foreign_key_models": [], # e.g. [InterventionType]
87
83
  },
88
84
  ExaminationRequirementSet.__name__: {
89
85
  "dir": EXAMINATION_REQUIREMENT_SET_DATA_DIR, # e.g. "interventions"
90
- "model": ExaminationRequirementSet, # e.g. Intervention
91
- "foreign_keys": [
92
- "examinations",
93
- ], # Through model uses foreign keys of both models
94
- "foreign_key_models": [
95
- Examination,
96
- ],
86
+ "model": ExaminationRequirementSet,
87
+ "foreign_keys": [], # Through model uses foreign keys of both models
88
+ "foreign_key_models": [],
97
89
  },
98
90
  # ExaminationRequirementSet.__name__,
99
91
  Requirement.__name__: {
100
92
  "dir": REQUIREMENT_DATA_DIR, # e.g. "interventions"
101
- "model": Requirement, # e.g. Intervention
93
+ "model": Requirement,
102
94
  "foreign_keys": [
103
95
  "requirement_types",
104
- "operators",
96
+ "operator",
105
97
  "unit",
106
98
  "examinations",
107
99
  "examination_indications",
@@ -149,13 +141,13 @@ IMPORT_METADATA = {
149
141
  },
150
142
  RequirementSetType.__name__: {
151
143
  "dir": REQUIREMENT_SET_TYPE_DATA_DIR, # e.g. "interventions"
152
- "model": RequirementSetType, # e.g. Intervention
144
+ "model": RequirementSetType,
153
145
  "foreign_keys": [], # e.g. ["intervention_types"]
154
146
  "foreign_key_models": [], # e.g. [InterventionType]
155
147
  },
156
148
  RequirementSet.__name__: {
157
149
  "dir": REQUIREMENT_SET_DATA_DIR, # e.g. "interventions"
158
- "model": RequirementSet, # e.g. Intervention
150
+ "model": RequirementSet,
159
151
  "foreign_keys": [
160
152
  "requirement_set_type",
161
153
  "requirements", # This is a many-to-many field
@@ -163,6 +155,7 @@ IMPORT_METADATA = {
163
155
  "information_sources",
164
156
  "tags",
165
157
  "reqset_exam_links",
158
+ "depends_on",
166
159
  ], # e.g. ["intervention_types"]
167
160
  "foreign_key_models": [
168
161
  RequirementSetType,
@@ -171,6 +164,7 @@ IMPORT_METADATA = {
171
164
  InformationSource,
172
165
  Tag,
173
166
  ExaminationRequirementSet,
167
+ RequirementSet,
174
168
  ], # e.g. [InterventionType]
175
169
  },
176
170
  }
@@ -1,8 +1,9 @@
1
1
  from django.core.management.base import BaseCommand
2
+
2
3
  from endoreg_db.models import Risk, RiskType
3
- from ...utils import load_model_data_from_yaml
4
- from ...data import RISK_DATA_DIR, RISK_TYPE_DATA_DIR
5
4
 
5
+ from ...data import RISK_DATA_DIR, RISK_TYPE_DATA_DIR
6
+ from ...utils import load_model_data_from_yaml
6
7
 
7
8
  IMPORT_MODELS = [ # string as model key, serves as key in IMPORT_METADATA
8
9
  RiskType.__name__,
@@ -12,13 +13,13 @@ IMPORT_MODELS = [ # string as model key, serves as key in IMPORT_METADATA
12
13
  IMPORT_METADATA = {
13
14
  RiskType.__name__: {
14
15
  "dir": RISK_TYPE_DATA_DIR, # e.g. "interventions"
15
- "model": RiskType, # e.g. Intervention
16
+ "model": RiskType,
16
17
  "foreign_keys": [], # e.g. ["intervention_types"]
17
18
  "foreign_key_models": [], # e.g. [InterventionType]
18
19
  },
19
20
  Risk.__name__: {
20
21
  "dir": RISK_DATA_DIR, # e.g. "interventions"
21
- "model": Risk, # e.g. Intervention
22
+ "model": Risk,
22
23
  "foreign_keys": ["risk_type"], # e.g. ["intervention_types"]
23
24
  "foreign_key_models": [RiskType], # e.g. [InterventionType]
24
25
  },
@@ -32,7 +33,7 @@ class Command(BaseCommand):
32
33
  def add_arguments(self, parser):
33
34
  """
34
35
  Adds the '--verbose' flag to the argument parser for detailed output.
35
-
36
+
36
37
  This method extends the given parser by adding an option that, when specified,
37
38
  enables verbose output during command execution.
38
39
  """
@@ -45,7 +46,7 @@ class Command(BaseCommand):
45
46
  def handle(self, *args, **options):
46
47
  """
47
48
  Execute the command to load YAML data into configured models.
48
-
49
+
49
50
  Retrieves the verbosity setting from the options and iterates over each model in IMPORT_MODELS.
50
51
  For each model, it obtains the corresponding metadata from IMPORT_METADATA and calls the utility
51
52
  function load_model_data_from_yaml to load data from the associated YAML files.
@@ -1,32 +1,34 @@
1
1
  from django.core.management.base import BaseCommand
2
+
3
+ from ...data import REPORT_READER_FLAG_DATA_DIR
2
4
  from ...models import Shift, ShiftType
3
5
  from ...utils import load_model_data_from_yaml
4
- from ...data import REPORT_READER_FLAG_DATA_DIR
5
6
 
6
- SOURCE_DIR = REPORT_READER_FLAG_DATA_DIR # e.g. settings.DATA_DIR_INTERVENTION
7
+ SOURCE_DIR = REPORT_READER_FLAG_DATA_DIR # e.g. settings.DATA_DIR_INTERVENTION
7
8
 
8
9
  model_0 = ShiftType
9
10
  model_1 = Shift
10
11
 
11
- IMPORT_MODELS = [ # string as model key, serves as key in IMPORT_METADATA
12
+ IMPORT_MODELS = [ # string as model key, serves as key in IMPORT_METADATA
12
13
  model_0.__name__,
13
14
  ]
14
15
 
15
16
  IMPORT_METADATA = {
16
17
  model_0.__name__: {
17
- "dir": SOURCE_DIR, # e.g. "interventions"
18
- "model": model_0, # e.g. Intervention
19
- "foreign_keys": [], # e.g. ["intervention_types"]
20
- "foreign_key_models": [] # e.g. [InterventionType]
18
+ "dir": SOURCE_DIR, # e.g. "interventions"
19
+ "model": model_0,
20
+ "foreign_keys": [], # e.g. ["intervention_types"]
21
+ "foreign_key_models": [], # e.g. [InterventionType]
21
22
  },
22
23
  model_1.__name__: {
23
- "dir": SOURCE_DIR, # e.g. "interventions"
24
- "model": model_1, # e.g. Intervention
25
- "foreign_keys": ["shift_types"], # e.g. ["intervention_types"]
26
- "foreign_key_models": [model_0] # e.g. [InterventionType]
27
- }
24
+ "dir": SOURCE_DIR, # e.g. "interventions"
25
+ "model": model_1,
26
+ "foreign_keys": ["shift_types"], # e.g. ["intervention_types"]
27
+ "foreign_key_models": [model_0], # e.g. [InterventionType]
28
+ },
28
29
  }
29
30
 
31
+
30
32
  class Command(BaseCommand):
31
33
  help = """Load all .yaml files in the data/shift directory
32
34
  into the Shift and ShiftType model"""
@@ -36,25 +38,20 @@ class Command(BaseCommand):
36
38
  Adds the --verbose command-line option to enable detailed output during execution.
37
39
  """
38
40
  parser.add_argument(
39
- '--verbose',
40
- action='store_true',
41
- help='Display verbose output',
41
+ "--verbose",
42
+ action="store_true",
43
+ help="Display verbose output",
42
44
  )
43
45
 
44
46
  def handle(self, *args, **options):
45
47
  """
46
48
  Loads YAML data files into models defined in IMPORT_MODELS using provided metadata.
47
-
49
+
48
50
  Iterates over each model specified in IMPORT_MODELS, retrieves its import metadata,
49
51
  and calls the data loading utility to populate the database from YAML files. Supports
50
52
  optional verbose output if enabled via command-line options.
51
53
  """
52
- verbose = options['verbose']
54
+ verbose = options["verbose"]
53
55
  for model_name in IMPORT_MODELS:
54
56
  _metadata = IMPORT_METADATA[model_name]
55
- load_model_data_from_yaml(
56
- self,
57
- model_name,
58
- _metadata,
59
- verbose
60
- )
57
+ load_model_data_from_yaml(self, model_name, _metadata, verbose)
@@ -1,14 +1,11 @@
1
1
  from django.core.management.base import BaseCommand
2
+
2
3
  from endoreg_db.models import (
3
4
  Tag,
4
-
5
5
  )
6
6
 
7
+ from ...data import TAG_DATA_DIR
7
8
  from ...utils import load_model_data_from_yaml
8
- from ...data import (
9
- TAG_DATA_DIR
10
- )
11
-
12
9
 
13
10
  IMPORT_MODELS = [ # string as model key, serves as key in IMPORT_METADATA
14
11
  Tag.__name__,
@@ -17,7 +14,7 @@ IMPORT_MODELS = [ # string as model key, serves as key in IMPORT_METADATA
17
14
  IMPORT_METADATA = {
18
15
  Tag.__name__: {
19
16
  "dir": TAG_DATA_DIR, # e.g. "interventions"
20
- "model": Tag, # e.g. Intervention
17
+ "model": Tag,
21
18
  "foreign_keys": [], # e.g. ["intervention_types"]
22
19
  "foreign_key_models": [], # e.g. [InterventionType]
23
20
  },
@@ -32,7 +29,7 @@ class Command(BaseCommand):
32
29
  def add_arguments(self, parser):
33
30
  """
34
31
  Add command-line arguments to enable verbose output.
35
-
32
+
36
33
  Adds an optional '--verbose' flag to the command parser. When specified,
37
34
  this flag causes the command to display detailed output during execution.
38
35
  """
@@ -45,10 +42,10 @@ class Command(BaseCommand):
45
42
  def handle(self, *args, **options):
46
43
  """
47
44
  Executes data import for requirement models from YAML files.
48
-
49
- Retrieves the verbosity setting from the command options and iterates over each model
50
- listed in IMPORT_MODELS. For each model, it obtains the corresponding metadata from
51
- IMPORT_METADATA and calls a helper to load the YAML data into the database. Verbose mode
45
+
46
+ Retrieves the verbosity setting from the command options and iterates over each model
47
+ listed in IMPORT_MODELS. For each model, it obtains the corresponding metadata from
48
+ IMPORT_METADATA and calls a helper to load the YAML data into the database. Verbose mode
52
49
  enables detailed output during the process.
53
50
  """
54
51
  verbose = options["verbose"]
@@ -1,46 +1,44 @@
1
- from django.conf import settings
2
1
  import os
2
+
3
+ import yaml
4
+ from django.conf import settings
3
5
  from django.core.management.base import BaseCommand
6
+
7
+ from ...data import UNIT_DATA_DIR
4
8
  from ...models import Unit
5
- import yaml
6
9
  from ...utils import load_model_data_from_yaml
7
- from ...data import UNIT_DATA_DIR
8
10
 
9
- SOURCE_DIR = UNIT_DATA_DIR # e.g. settings.DATA_DIR_INTERVENTION
11
+ SOURCE_DIR = UNIT_DATA_DIR # e.g. settings.DATA_DIR_INTERVENTION
10
12
 
11
13
  MODEL_0 = Unit
12
14
 
13
- IMPORT_MODELS = [ # string as model key, serves as key in IMPORT_METADATA
15
+ IMPORT_MODELS = [ # string as model key, serves as key in IMPORT_METADATA
14
16
  MODEL_0.__name__,
15
17
  ]
16
18
 
17
19
  IMPORT_METADATA = {
18
20
  MODEL_0.__name__: {
19
- "dir": SOURCE_DIR, # e.g. "interventions"
20
- "model": MODEL_0, # e.g. Intervention
21
- "foreign_keys": [], # e.g. ["intervention_types"]
22
- "foreign_key_models": [] # e.g. [InterventionType]
21
+ "dir": SOURCE_DIR, # e.g. "interventions"
22
+ "model": MODEL_0,
23
+ "foreign_keys": [], # e.g. ["intervention_types"]
24
+ "foreign_key_models": [], # e.g. [InterventionType]
23
25
  }
24
26
  }
25
27
 
28
+
26
29
  class Command(BaseCommand):
27
30
  help = """Load all .yaml files in the data/intervention directory
28
31
  into the Intervention and InterventionType model"""
29
32
 
30
33
  def add_arguments(self, parser):
31
34
  parser.add_argument(
32
- '--verbose',
33
- action='store_true',
34
- help='Display verbose output',
35
+ "--verbose",
36
+ action="store_true",
37
+ help="Display verbose output",
35
38
  )
36
39
 
37
40
  def handle(self, *args, **options):
38
- verbose = options['verbose']
41
+ verbose = options["verbose"]
39
42
  for model_name in IMPORT_MODELS:
40
43
  _metadata = IMPORT_METADATA[model_name]
41
- load_model_data_from_yaml(
42
- self,
43
- model_name,
44
- _metadata,
45
- verbose
46
- )
44
+ load_model_data_from_yaml(self, model_name, _metadata, verbose)