endoreg-db 0.8.8.0__py3-none-any.whl → 0.8.8.9__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 +400 -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/processing/video_processing/video_cleanup_on_error.py +119 -0
  74. endoreg_db/import_files/pseudonymization/fake.py +52 -0
  75. endoreg_db/import_files/pseudonymization/k_anonymity.py +182 -0
  76. endoreg_db/import_files/pseudonymization/k_pseudonymity.py +128 -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 +64 -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/views/__init__.py +85 -173
  171. endoreg_db/views/ai/__init__.py +8 -0
  172. endoreg_db/views/ai/label.py +155 -0
  173. endoreg_db/views/anonymization/media_management.py +8 -7
  174. endoreg_db/views/anonymization/overview.py +97 -68
  175. endoreg_db/views/anonymization/validate.py +25 -21
  176. endoreg_db/views/media/__init__.py +5 -20
  177. endoreg_db/views/media/pdf_media.py +109 -65
  178. endoreg_db/views/media/sensitive_metadata.py +163 -148
  179. endoreg_db/views/meta/__init__.py +0 -8
  180. endoreg_db/views/misc/__init__.py +1 -7
  181. endoreg_db/views/misc/upload_views.py +94 -93
  182. endoreg_db/views/report/__init__.py +7 -0
  183. endoreg_db/views/{pdf → report}/reimport.py +45 -24
  184. endoreg_db/views/{pdf/pdf_stream.py → report/report_stream.py} +40 -32
  185. endoreg_db/views/requirement/lookup_store.py +22 -90
  186. endoreg_db/views/video/__init__.py +23 -22
  187. endoreg_db/views/video/correction.py +201 -172
  188. endoreg_db/views/video/reimport.py +1 -1
  189. endoreg_db/views/{media/video_segments.py → video/segments_crud.py} +75 -37
  190. endoreg_db/views/video/{video_meta.py → video_meta_stats.py} +2 -2
  191. endoreg_db/views/video/video_stream.py +7 -8
  192. {endoreg_db-0.8.8.0.dist-info → endoreg_db-0.8.8.9.dist-info}/METADATA +2 -2
  193. {endoreg_db-0.8.8.0.dist-info → endoreg_db-0.8.8.9.dist-info}/RECORD +217 -335
  194. {endoreg_db-0.8.8.0.dist-info → endoreg_db-0.8.8.9.dist-info}/WHEEL +1 -1
  195. endoreg_db/data/_examples/disease.yaml +0 -55
  196. endoreg_db/data/_examples/disease_classification.yaml +0 -13
  197. endoreg_db/data/_examples/disease_classification_choice.yaml +0 -62
  198. endoreg_db/data/_examples/event.yaml +0 -64
  199. endoreg_db/data/_examples/examination.yaml +0 -72
  200. endoreg_db/data/_examples/finding/anatomy_colon.yaml +0 -128
  201. endoreg_db/data/_examples/finding/colonoscopy.yaml +0 -40
  202. endoreg_db/data/_examples/finding/colonoscopy_bowel_prep.yaml +0 -56
  203. endoreg_db/data/_examples/finding/complication.yaml +0 -16
  204. endoreg_db/data/_examples/finding/data.yaml +0 -105
  205. endoreg_db/data/_examples/finding/examination_setting.yaml +0 -16
  206. endoreg_db/data/_examples/finding/medication_related.yaml +0 -18
  207. endoreg_db/data/_examples/finding/outcome.yaml +0 -12
  208. endoreg_db/data/_examples/finding_classification/colonoscopy_bowel_preparation.yaml +0 -68
  209. endoreg_db/data/_examples/finding_classification/colonoscopy_jnet.yaml +0 -22
  210. endoreg_db/data/_examples/finding_classification/colonoscopy_kudo.yaml +0 -25
  211. endoreg_db/data/_examples/finding_classification/colonoscopy_lesion_circularity.yaml +0 -20
  212. endoreg_db/data/_examples/finding_classification/colonoscopy_lesion_planarity.yaml +0 -24
  213. endoreg_db/data/_examples/finding_classification/colonoscopy_lesion_size.yaml +0 -68
  214. endoreg_db/data/_examples/finding_classification/colonoscopy_lesion_surface.yaml +0 -20
  215. endoreg_db/data/_examples/finding_classification/colonoscopy_location.yaml +0 -80
  216. endoreg_db/data/_examples/finding_classification/colonoscopy_lst.yaml +0 -21
  217. endoreg_db/data/_examples/finding_classification/colonoscopy_nice.yaml +0 -20
  218. endoreg_db/data/_examples/finding_classification/colonoscopy_paris.yaml +0 -26
  219. endoreg_db/data/_examples/finding_classification/colonoscopy_sano.yaml +0 -22
  220. endoreg_db/data/_examples/finding_classification/colonoscopy_summary.yaml +0 -53
  221. endoreg_db/data/_examples/finding_classification/complication_generic.yaml +0 -25
  222. endoreg_db/data/_examples/finding_classification/examination_setting_generic.yaml +0 -40
  223. endoreg_db/data/_examples/finding_classification/histology_colo.yaml +0 -51
  224. endoreg_db/data/_examples/finding_classification/intervention_required.yaml +0 -26
  225. endoreg_db/data/_examples/finding_classification/medication_related.yaml +0 -23
  226. endoreg_db/data/_examples/finding_classification/visualized.yaml +0 -33
  227. endoreg_db/data/_examples/finding_classification_choice/bowel_preparation.yaml +0 -78
  228. endoreg_db/data/_examples/finding_classification_choice/colon_lesion_circularity_default.yaml +0 -32
  229. endoreg_db/data/_examples/finding_classification_choice/colon_lesion_jnet.yaml +0 -15
  230. endoreg_db/data/_examples/finding_classification_choice/colon_lesion_kudo.yaml +0 -23
  231. endoreg_db/data/_examples/finding_classification_choice/colon_lesion_lst.yaml +0 -15
  232. endoreg_db/data/_examples/finding_classification_choice/colon_lesion_nice.yaml +0 -17
  233. endoreg_db/data/_examples/finding_classification_choice/colon_lesion_planarity_default.yaml +0 -49
  234. endoreg_db/data/_examples/finding_classification_choice/colon_lesion_sano.yaml +0 -14
  235. endoreg_db/data/_examples/finding_classification_choice/colon_lesion_surface_intact_default.yaml +0 -36
  236. endoreg_db/data/_examples/finding_classification_choice/colonoscopy_size.yaml +0 -82
  237. endoreg_db/data/_examples/finding_classification_choice/colonoscopy_summary_worst_finding.yaml +0 -15
  238. endoreg_db/data/_examples/finding_classification_choice/complication_generic_types.yaml +0 -15
  239. endoreg_db/data/_examples/finding_classification_choice/examination_setting_generic_types.yaml +0 -15
  240. endoreg_db/data/_examples/finding_classification_choice/histology.yaml +0 -24
  241. endoreg_db/data/_examples/finding_classification_choice/histology_polyp.yaml +0 -20
  242. endoreg_db/data/_examples/finding_classification_choice/outcome.yaml +0 -19
  243. endoreg_db/data/_examples/finding_classification_choice/yes_no_na.yaml +0 -11
  244. endoreg_db/data/_examples/finding_classification_type/colonoscopy_basic.yaml +0 -48
  245. endoreg_db/data/_examples/finding_intervention/endoscopy.yaml +0 -43
  246. endoreg_db/data/_examples/finding_intervention/endoscopy_colonoscopy.yaml +0 -168
  247. endoreg_db/data/_examples/finding_intervention/endoscopy_egd.yaml +0 -128
  248. endoreg_db/data/_examples/finding_intervention/endoscopy_ercp.yaml +0 -32
  249. endoreg_db/data/_examples/finding_intervention/endoscopy_eus_lower.yaml +0 -9
  250. endoreg_db/data/_examples/finding_intervention/endoscopy_eus_upper.yaml +0 -36
  251. endoreg_db/data/_examples/finding_intervention_type/endoscopy.yaml +0 -15
  252. endoreg_db/data/_examples/finding_type/data.yaml +0 -43
  253. endoreg_db/data/_examples/requirement/age.yaml +0 -26
  254. endoreg_db/data/_examples/requirement/gender.yaml +0 -25
  255. endoreg_db/data/_examples/requirement_set/01_endoscopy_generic.yaml +0 -48
  256. endoreg_db/data/_examples/requirement_set/colonoscopy_austria_screening.yaml +0 -57
  257. endoreg_db/data/_examples/requirement_set/endoscopy_bleeding_risk.yaml +0 -52
  258. endoreg_db/data/_examples/yaml_examples.xlsx +0 -0
  259. endoreg_db/data/finding/anatomy_colon.yaml +0 -128
  260. endoreg_db/data/finding/colonoscopy.yaml +0 -40
  261. endoreg_db/data/finding/colonoscopy_bowel_prep.yaml +0 -56
  262. endoreg_db/data/finding/complication.yaml +0 -16
  263. endoreg_db/data/finding/data.yaml +0 -105
  264. endoreg_db/data/finding/examination_setting.yaml +0 -16
  265. endoreg_db/data/finding/medication_related.yaml +0 -18
  266. endoreg_db/data/finding/outcome.yaml +0 -12
  267. endoreg_db/data/finding_classification/colonoscopy_jnet.yaml +0 -22
  268. endoreg_db/data/finding_classification/colonoscopy_kudo.yaml +0 -25
  269. endoreg_db/data/finding_classification/colonoscopy_lesion_circularity.yaml +0 -20
  270. endoreg_db/data/finding_classification/colonoscopy_lesion_planarity.yaml +0 -24
  271. endoreg_db/data/finding_classification/colonoscopy_lesion_size.yaml +0 -38
  272. endoreg_db/data/finding_classification/colonoscopy_lesion_surface.yaml +0 -20
  273. endoreg_db/data/finding_classification/colonoscopy_location.yaml +0 -49
  274. endoreg_db/data/finding_classification/colonoscopy_lst.yaml +0 -21
  275. endoreg_db/data/finding_classification/colonoscopy_nice.yaml +0 -20
  276. endoreg_db/data/finding_classification/colonoscopy_paris.yaml +0 -26
  277. endoreg_db/data/finding_classification/colonoscopy_sano.yaml +0 -22
  278. endoreg_db/data/finding_classification/colonoscopy_summary.yaml +0 -53
  279. endoreg_db/data/finding_classification/complication_generic.yaml +0 -25
  280. endoreg_db/data/finding_classification/examination_setting_generic.yaml +0 -40
  281. endoreg_db/data/finding_classification/histology_colo.yaml +0 -43
  282. endoreg_db/data/finding_classification/intervention_required.yaml +0 -26
  283. endoreg_db/data/finding_classification/medication_related.yaml +0 -23
  284. endoreg_db/data/finding_classification/visualized.yaml +0 -33
  285. endoreg_db/data/finding_classification_choice/colon_lesion_circularity_default.yaml +0 -32
  286. endoreg_db/data/finding_classification_choice/colon_lesion_jnet.yaml +0 -15
  287. endoreg_db/data/finding_classification_choice/colon_lesion_kudo.yaml +0 -23
  288. endoreg_db/data/finding_classification_choice/colon_lesion_lst.yaml +0 -15
  289. endoreg_db/data/finding_classification_choice/colon_lesion_nice.yaml +0 -17
  290. endoreg_db/data/finding_classification_choice/colon_lesion_paris.yaml +0 -57
  291. endoreg_db/data/finding_classification_choice/colon_lesion_planarity_default.yaml +0 -49
  292. endoreg_db/data/finding_classification_choice/colon_lesion_sano.yaml +0 -14
  293. endoreg_db/data/finding_classification_choice/colon_lesion_surface_intact_default.yaml +0 -36
  294. endoreg_db/data/finding_classification_choice/colonoscopy_location.yaml +0 -229
  295. endoreg_db/data/finding_classification_choice/colonoscopy_not_complete_reason.yaml +0 -19
  296. endoreg_db/data/finding_classification_choice/colonoscopy_size.yaml +0 -82
  297. endoreg_db/data/finding_classification_choice/colonoscopy_summary_worst_finding.yaml +0 -15
  298. endoreg_db/data/finding_classification_choice/outcome.yaml +0 -19
  299. endoreg_db/data/finding_intervention/endoscopy.yaml +0 -43
  300. endoreg_db/data/finding_intervention/endoscopy_colonoscopy.yaml +0 -168
  301. endoreg_db/data/finding_intervention/endoscopy_egd.yaml +0 -128
  302. endoreg_db/data/finding_intervention/endoscopy_ercp.yaml +0 -32
  303. endoreg_db/data/finding_intervention/endoscopy_eus_lower.yaml +0 -9
  304. endoreg_db/data/finding_intervention/endoscopy_eus_upper.yaml +0 -36
  305. endoreg_db/data/finding_morphology_classification_type/colonoscopy.yaml +0 -79
  306. endoreg_db/data/requirement/age.yaml +0 -26
  307. endoreg_db/data/requirement/colonoscopy_baseline_austria.yaml +0 -45
  308. endoreg_db/data/requirement/disease_cardiovascular.yaml +0 -79
  309. endoreg_db/data/requirement/disease_classification_choice_cardiovascular.yaml +0 -41
  310. endoreg_db/data/requirement/disease_hepatology.yaml +0 -12
  311. endoreg_db/data/requirement/disease_misc.yaml +0 -12
  312. endoreg_db/data/requirement/disease_renal.yaml +0 -96
  313. endoreg_db/data/requirement/endoscopy_bleeding_risk.yaml +0 -59
  314. endoreg_db/data/requirement/event_cardiology.yaml +0 -251
  315. endoreg_db/data/requirement/event_requirements.yaml +0 -145
  316. endoreg_db/data/requirement/finding_colon_polyp.yaml +0 -50
  317. endoreg_db/data/requirement/gender.yaml +0 -25
  318. endoreg_db/data/requirement/lab_value.yaml +0 -441
  319. endoreg_db/data/requirement/medication.yaml +0 -93
  320. endoreg_db/data/requirement_operator/age.yaml +0 -13
  321. endoreg_db/data/requirement_operator/lab_operators.yaml +0 -129
  322. endoreg_db/data/requirement_operator/model_operators.yaml +0 -96
  323. endoreg_db/management/commands/init_default_ai_model.py +0 -112
  324. endoreg_db/management/commands/reset_celery_schedule.py +0 -9
  325. endoreg_db/management/commands/validate_video.py +0 -204
  326. endoreg_db/migrations/0002_requirementset_depends_on.py +0 -18
  327. endoreg_db/migrations/_old/0001_initial.py +0 -1857
  328. endoreg_db/migrations/_old/0002_add_video_correction_models.py +0 -52
  329. endoreg_db/migrations/_old/0003_add_center_display_name.py +0 -30
  330. endoreg_db/migrations/_old/0004_employee_city_employee_post_code_employee_street_and_more.py +0 -68
  331. endoreg_db/migrations/_old/0004_remove_casetemplate_rules_and_more.py +0 -77
  332. endoreg_db/migrations/_old/0005_merge_20251111_1003.py +0 -14
  333. endoreg_db/migrations/_old/0006_sensitivemeta_anonymized_text_and_more.py +0 -68
  334. endoreg_db/migrations/_old/0007_remove_rule_attribute_dtype_remove_rule_rule_type_and_more.py +0 -89
  335. endoreg_db/migrations/_old/0008_remove_event_event_classification_and_more.py +0 -27
  336. endoreg_db/migrations/_old/0009_alter_modelmeta_options_and_more.py +0 -21
  337. endoreg_db/renames.yml +0 -8
  338. endoreg_db/serializers/_old/raw_pdf_meta_validation.py +0 -223
  339. endoreg_db/serializers/_old/raw_video_meta_validation.py +0 -179
  340. endoreg_db/serializers/_old/video.py +0 -71
  341. endoreg_db/serializers/meta/pdf_file_meta_extraction.py +0 -115
  342. endoreg_db/serializers/meta/report_meta.py +0 -53
  343. endoreg_db/serializers/report/__init__.py +0 -9
  344. endoreg_db/serializers/report/mixins.py +0 -45
  345. endoreg_db/serializers/report/report.py +0 -105
  346. endoreg_db/serializers/report/report_list.py +0 -22
  347. endoreg_db/serializers/report/secure_file_url.py +0 -26
  348. endoreg_db/services/requirements_object.py +0 -147
  349. endoreg_db/services/storage_aware_video_processor.py +0 -370
  350. endoreg_db/urls/files.py +0 -6
  351. endoreg_db/urls/label_video_segment_validate.py +0 -33
  352. endoreg_db/urls/label_video_segments.py +0 -46
  353. endoreg_db/views/label/__init__.py +0 -5
  354. endoreg_db/views/label/label.py +0 -15
  355. endoreg_db/views/label_video_segment/__init__.py +0 -16
  356. endoreg_db/views/label_video_segment/create_lvs_from_annotation.py +0 -44
  357. endoreg_db/views/label_video_segment/get_lvs_by_name_and_video.py +0 -50
  358. endoreg_db/views/label_video_segment/label_video_segment.py +0 -77
  359. endoreg_db/views/label_video_segment/label_video_segment_by_label.py +0 -174
  360. endoreg_db/views/label_video_segment/label_video_segment_detail.py +0 -73
  361. endoreg_db/views/label_video_segment/update_lvs_from_annotation.py +0 -46
  362. endoreg_db/views/label_video_segment/validate.py +0 -226
  363. endoreg_db/views/media/segments.py +0 -71
  364. endoreg_db/views/meta/available_files_list.py +0 -146
  365. endoreg_db/views/meta/report_meta.py +0 -53
  366. endoreg_db/views/meta/sensitive_meta_detail.py +0 -85
  367. endoreg_db/views/misc/secure_file_serving_view.py +0 -80
  368. endoreg_db/views/misc/secure_file_url_view.py +0 -84
  369. endoreg_db/views/misc/secure_url_validate.py +0 -79
  370. endoreg_db/views/patient_examination/DEPRECATED_video_backup.py +0 -164
  371. endoreg_db/views/patient_finding_location/__init__.py +0 -5
  372. endoreg_db/views/patient_finding_location/pfl_create.py +0 -70
  373. endoreg_db/views/patient_finding_morphology/__init__.py +0 -5
  374. endoreg_db/views/patient_finding_morphology/pfm_create.py +0 -70
  375. endoreg_db/views/pdf/__init__.py +0 -8
  376. endoreg_db/views/video/segmentation.py +0 -274
  377. endoreg_db/views/video/task_status.py +0 -49
  378. endoreg_db/views/video/timeline.py +0 -46
  379. endoreg_db/views/video/video_analyze.py +0 -52
  380. /endoreg_db/data/requirement/{colon_polyp_intervention.yaml → old/colon_polyp_intervention.yaml} +0 -0
  381. /endoreg_db/data/{_examples/requirement → requirement/old}/colonoscopy_baseline_austria.yaml +0 -0
  382. /endoreg_db/data/requirement/{coloreg_colon_polyp.yaml → old/coloreg_colon_polyp.yaml} +0 -0
  383. /endoreg_db/data/{_examples/requirement → requirement/old}/disease_cardiovascular.yaml +0 -0
  384. /endoreg_db/data/{_examples/requirement → requirement/old}/disease_classification_choice_cardiovascular.yaml +0 -0
  385. /endoreg_db/data/{_examples/requirement → requirement/old}/disease_hepatology.yaml +0 -0
  386. /endoreg_db/data/{_examples/requirement → requirement/old}/disease_misc.yaml +0 -0
  387. /endoreg_db/data/{_examples/requirement → requirement/old}/disease_renal.yaml +0 -0
  388. /endoreg_db/data/{_examples/requirement → requirement/old}/endoscopy_bleeding_risk.yaml +0 -0
  389. /endoreg_db/data/{_examples/requirement → requirement/old}/event_cardiology.yaml +0 -0
  390. /endoreg_db/data/{_examples/requirement → requirement/old}/event_requirements.yaml +0 -0
  391. /endoreg_db/data/{_examples/requirement → requirement/old}/finding_colon_polyp.yaml +0 -0
  392. /endoreg_db/{migrations/__init__.py → data/requirement/old/gender.yaml} +0 -0
  393. /endoreg_db/data/{_examples/requirement → requirement/old}/lab_value.yaml +0 -0
  394. /endoreg_db/data/{_examples/requirement → requirement/old}/medication.yaml +0 -0
  395. /endoreg_db/data/{_examples/requirement_operator → requirement_operator/_old}/age.yaml +0 -0
  396. /endoreg_db/data/{_examples/requirement_operator → requirement_operator/_old}/lab_operators.yaml +0 -0
  397. /endoreg_db/data/{_examples/requirement_operator → requirement_operator/_old}/model_operators.yaml +0 -0
  398. /endoreg_db/{urls/sensitive_meta.py → import_files/pseudonymization/__init__.py} +0 -0
  399. /endoreg_db/{views/pdf/pdf_stream_views.py → import_files/pseudonymization/pseudonymize.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.8.9.dist-info}/licenses/LICENSE +0 -0
@@ -1,41 +1,39 @@
1
1
  from django.core.management.base import BaseCommand
2
+
2
3
  from endoreg_db.models import Contraindication
3
- from ...utils import load_model_data_from_yaml
4
+
4
5
  from ...data import CONTRAINDICATION_DATA_DIR as SOURCE_DIR
6
+ from ...utils import load_model_data_from_yaml
5
7
 
6
8
  MODEL_0 = Contraindication
7
9
 
8
- IMPORT_MODELS = [ # string as model key, serves as key in IMPORT_METADATA
10
+ IMPORT_MODELS = [ # string as model key, serves as key in IMPORT_METADATA
9
11
  MODEL_0.__name__,
10
12
  ]
11
13
 
12
14
  IMPORT_METADATA = {
13
15
  MODEL_0.__name__: {
14
- "dir": SOURCE_DIR, # e.g. "interventions"
15
- "model": MODEL_0, # e.g. Intervention
16
- "foreign_keys": [], # e.g. ["intervention_types"]
17
- "foreign_key_models": [] # e.g. [InterventionType]
16
+ "dir": SOURCE_DIR, # e.g. "interventions"
17
+ "model": MODEL_0,
18
+ "foreign_keys": [], # e.g. ["intervention_types"]
19
+ "foreign_key_models": [], # e.g. [InterventionType]
18
20
  }
19
21
  }
20
22
 
23
+
21
24
  class Command(BaseCommand):
22
25
  help = """Load all .yaml files in the data/intervention directory
23
26
  into the Intervention and InterventionType model"""
24
27
 
25
28
  def add_arguments(self, parser):
26
29
  parser.add_argument(
27
- '--verbose',
28
- action='store_true',
29
- help='Display verbose output',
30
+ "--verbose",
31
+ action="store_true",
32
+ help="Display verbose output",
30
33
  )
31
34
 
32
35
  def handle(self, *args, **options):
33
- verbose = options['verbose']
36
+ verbose = options["verbose"]
34
37
  for model_name in IMPORT_MODELS:
35
38
  _metadata = IMPORT_METADATA[model_name]
36
- load_model_data_from_yaml(
37
- self,
38
- model_name,
39
- _metadata,
40
- verbose
41
- )
39
+ load_model_data_from_yaml(self, model_name, _metadata, verbose)
@@ -1,41 +1,38 @@
1
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
2
 
6
3
  from endoreg_db.models import DiseaseClassification
4
+ from endoreg_db.models import DiseaseClassificationChoice as MODEL_0
7
5
 
8
- IMPORT_MODELS = [ # string as model key, serves as key in IMPORT_METADATA
6
+ from ...data import DISEASE_CLASSIFICATION_CHOICE_DATA_DIR as SOURCE_DIR
7
+ from ...utils import load_model_data_from_yaml
8
+
9
+ IMPORT_MODELS = [ # string as model key, serves as key in IMPORT_METADATA
9
10
  MODEL_0.__name__,
10
11
  ]
11
12
 
12
13
  IMPORT_METADATA = {
13
14
  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]
15
+ "dir": SOURCE_DIR, # e.g. "interventions"
16
+ "model": MODEL_0,
17
+ "foreign_keys": ["disease_classification"], # e.g. ["intervention_types"]
18
+ "foreign_key_models": [DiseaseClassification], # e.g. [InterventionType]
18
19
  }
19
20
  }
20
21
 
22
+
21
23
  class Command(BaseCommand):
22
24
  help = """Load all .yaml files in the data/intervention directory
23
25
  into the Intervention and InterventionType model"""
24
26
 
25
27
  def add_arguments(self, parser):
26
28
  parser.add_argument(
27
- '--verbose',
28
- action='store_true',
29
- help='Display verbose output',
29
+ "--verbose",
30
+ action="store_true",
31
+ help="Display verbose output",
30
32
  )
31
33
 
32
34
  def handle(self, *args, **options):
33
- verbose = options['verbose']
35
+ verbose = options["verbose"]
34
36
  for model_name in IMPORT_MODELS:
35
37
  _metadata = IMPORT_METADATA[model_name]
36
- load_model_data_from_yaml(
37
- self,
38
- model_name,
39
- _metadata,
40
- verbose
41
- )
38
+ load_model_data_from_yaml(self, model_name, _metadata, verbose)
@@ -1,41 +1,38 @@
1
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
2
 
6
3
  from endoreg_db.models import Disease
4
+ from endoreg_db.models import DiseaseClassification as MODEL_0
7
5
 
8
- IMPORT_MODELS = [ # string as model key, serves as key in IMPORT_METADATA
6
+ from ...data import DISEASE_CLASSIFICATION_DATA_DIR as SOURCE_DIR
7
+ from ...utils import load_model_data_from_yaml
8
+
9
+ IMPORT_MODELS = [ # string as model key, serves as key in IMPORT_METADATA
9
10
  MODEL_0.__name__,
10
11
  ]
11
12
 
12
13
  IMPORT_METADATA = {
13
14
  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]
15
+ "dir": SOURCE_DIR, # e.g. "interventions"
16
+ "model": MODEL_0,
17
+ "foreign_keys": ["disease"], # e.g. ["intervention_types"]
18
+ "foreign_key_models": [Disease], # e.g. [InterventionType]
18
19
  }
19
20
  }
20
21
 
22
+
21
23
  class Command(BaseCommand):
22
24
  help = """Load all .yaml files in the data/intervention directory
23
25
  into the Intervention and InterventionType model"""
24
26
 
25
27
  def add_arguments(self, parser):
26
28
  parser.add_argument(
27
- '--verbose',
28
- action='store_true',
29
- help='Display verbose output',
29
+ "--verbose",
30
+ action="store_true",
31
+ help="Display verbose output",
30
32
  )
31
33
 
32
34
  def handle(self, *args, **options):
33
- verbose = options['verbose']
35
+ verbose = options["verbose"]
34
36
  for model_name in IMPORT_MODELS:
35
37
  _metadata = IMPORT_METADATA[model_name]
36
- load_model_data_from_yaml(
37
- self,
38
- model_name,
39
- _metadata,
40
- verbose
41
- )
38
+ load_model_data_from_yaml(self, model_name, _metadata, verbose)
@@ -1,18 +1,19 @@
1
1
  from django.core.management.base import BaseCommand
2
+
2
3
  from endoreg_db.models import (
3
- Disease,
4
+ Disease,
4
5
  DiseaseClassification,
5
6
  DiseaseClassificationChoice,
6
7
  )
7
- from ...utils import load_model_data_from_yaml
8
+
8
9
  from ...data import (
9
- DISEASE_DATA_DIR,
10
- DISEASE_CLASSIFICATION_DATA_DIR,
11
10
  DISEASE_CLASSIFICATION_CHOICE_DATA_DIR,
11
+ DISEASE_CLASSIFICATION_DATA_DIR,
12
+ DISEASE_DATA_DIR,
12
13
  )
14
+ from ...utils import load_model_data_from_yaml
13
15
 
14
-
15
- IMPORT_MODELS = [ # string as model key, serves as key in IMPORT_METADATA
16
+ IMPORT_MODELS = [ # string as model key, serves as key in IMPORT_METADATA
16
17
  Disease.__name__,
17
18
  DiseaseClassification.__name__,
18
19
  DiseaseClassificationChoice.__name__,
@@ -20,43 +21,39 @@ IMPORT_MODELS = [ # string as model key, serves as key in IMPORT_METADATA
20
21
 
21
22
  IMPORT_METADATA = {
22
23
  Disease.__name__: {
23
- "dir": DISEASE_DATA_DIR, # e.g. "interventions"
24
- "model": Disease, # e.g. Intervention
25
- "foreign_keys": [], # e.g. ["intervention_types"]
26
- "foreign_key_models": [] # e.g. [InterventionType]
24
+ "dir": DISEASE_DATA_DIR, # e.g. "interventions"
25
+ "model": Disease,
26
+ "foreign_keys": [], # e.g. ["intervention_types"]
27
+ "foreign_key_models": [], # e.g. [InterventionType]
27
28
  },
28
29
  DiseaseClassification.__name__: {
29
- "dir": DISEASE_CLASSIFICATION_DATA_DIR, # e.g. "interventions"
30
- "model": DiseaseClassification, # e.g. Intervention
31
- "foreign_keys": ["disease"], # e.g. ["intervention_types"]
32
- "foreign_key_models": [Disease] # e.g. [InterventionType]
30
+ "dir": DISEASE_CLASSIFICATION_DATA_DIR, # e.g. "interventions"
31
+ "model": DiseaseClassification,
32
+ "foreign_keys": ["disease"], # e.g. ["intervention_types"]
33
+ "foreign_key_models": [Disease], # e.g. [InterventionType]
33
34
  },
34
35
  DiseaseClassificationChoice.__name__: {
35
- "dir": DISEASE_CLASSIFICATION_CHOICE_DATA_DIR, # e.g. "interventions"
36
- "model": DiseaseClassificationChoice, # e.g. Intervention
37
- "foreign_keys": ["disease_classification"], # e.g. ["intervention_types"]
38
- "foreign_key_models": [DiseaseClassification] # e.g. [InterventionType]
36
+ "dir": DISEASE_CLASSIFICATION_CHOICE_DATA_DIR, # e.g. "interventions"
37
+ "model": DiseaseClassificationChoice,
38
+ "foreign_keys": ["disease_classification"], # e.g. ["intervention_types"]
39
+ "foreign_key_models": [DiseaseClassification], # e.g. [InterventionType]
39
40
  },
40
41
  }
41
42
 
43
+
42
44
  class Command(BaseCommand):
43
45
  help = """Load all .yaml files in the data/intervention directory
44
46
  into the Intervention and InterventionType model"""
45
47
 
46
48
  def add_arguments(self, parser):
47
49
  parser.add_argument(
48
- '--verbose',
49
- action='store_true',
50
- help='Display verbose output',
50
+ "--verbose",
51
+ action="store_true",
52
+ help="Display verbose output",
51
53
  )
52
54
 
53
55
  def handle(self, *args, **options):
54
- verbose = options['verbose']
56
+ verbose = options["verbose"]
55
57
  for model_name in IMPORT_MODELS:
56
58
  _metadata = IMPORT_METADATA[model_name]
57
- load_model_data_from_yaml(
58
- self,
59
- model_name,
60
- _metadata,
61
- verbose
62
- )
59
+ load_model_data_from_yaml(self, model_name, _metadata, verbose)
@@ -1,24 +1,21 @@
1
- from django.conf import settings
2
1
  import os
2
+
3
+ from django.conf import settings
3
4
  from django.core.management.base import BaseCommand
4
- from ...models import (
5
- EndoscopeType,
6
- Endoscope,
7
- EndoscopyProcessor,
8
- Center
9
- )
10
- from ...utils import load_model_data_from_yaml
5
+
11
6
  from ...data import (
7
+ ENDOSCOPE_DATA_DIR,
12
8
  ENDOSCOPE_TYPE_DATA_DIR,
13
9
  ENDOSCOPY_PROCESSOR_DATA_DIR,
14
- ENDOSCOPE_DATA_DIR,
15
10
  )
11
+ from ...models import Center, Endoscope, EndoscopeType, EndoscopyProcessor
12
+ from ...utils import load_model_data_from_yaml
16
13
 
17
- SOURCE_DIR = ENDOSCOPE_TYPE_DATA_DIR # e.g. settings.DATA_DIR_INTERVENTION
14
+ SOURCE_DIR = ENDOSCOPE_TYPE_DATA_DIR # e.g. settings.DATA_DIR_INTERVENTION
18
15
 
19
16
  MODEL_0 = EndoscopeType
20
17
 
21
- IMPORT_MODELS = [ # string as model key, serves as key in IMPORT_METADATA
18
+ IMPORT_MODELS = [ # string as model key, serves as key in IMPORT_METADATA
22
19
  EndoscopeType.__name__,
23
20
  EndoscopyProcessor.__name__,
24
21
  Endoscope.__name__,
@@ -26,43 +23,39 @@ IMPORT_MODELS = [ # string as model key, serves as key in IMPORT_METADATA
26
23
 
27
24
  IMPORT_METADATA = {
28
25
  EndoscopeType.__name__: {
29
- "dir": ENDOSCOPE_TYPE_DATA_DIR, # e.g. "interventions"
30
- "model": EndoscopeType, # e.g. Intervention
31
- "foreign_keys": [], # e.g. ["intervention_types"]
32
- "foreign_key_models": [] # e.g. [InterventionType]
26
+ "dir": ENDOSCOPE_TYPE_DATA_DIR, # e.g. "interventions"
27
+ "model": EndoscopeType,
28
+ "foreign_keys": [], # e.g. ["intervention_types"]
29
+ "foreign_key_models": [], # e.g. [InterventionType]
33
30
  },
34
31
  EndoscopyProcessor.__name__: {
35
32
  "dir": ENDOSCOPY_PROCESSOR_DATA_DIR,
36
33
  "model": EndoscopyProcessor,
37
34
  "foreign_keys": ["centers"],
38
- "foreign_key_models": [Center]
35
+ "foreign_key_models": [Center],
39
36
  },
40
37
  Endoscope.__name__: {
41
38
  "dir": ENDOSCOPE_DATA_DIR,
42
39
  "model": Endoscope,
43
40
  "foreign_keys": ["center", "endoscope_type"],
44
- "foreign_key_models": [Center, EndoscopeType]
41
+ "foreign_key_models": [Center, EndoscopeType],
45
42
  },
46
43
  }
47
44
 
45
+
48
46
  class Command(BaseCommand):
49
47
  help = """Load all .yaml files in the data/intervention directory
50
48
  into the Intervention and InterventionType model"""
51
49
 
52
50
  def add_arguments(self, parser):
53
51
  parser.add_argument(
54
- '--verbose',
55
- action='store_true',
56
- help='Display verbose output',
52
+ "--verbose",
53
+ action="store_true",
54
+ help="Display verbose output",
57
55
  )
58
56
 
59
57
  def handle(self, *args, **options):
60
- verbose = options['verbose']
58
+ verbose = options["verbose"]
61
59
  for model_name in IMPORT_MODELS:
62
60
  _metadata = IMPORT_METADATA[model_name]
63
- load_model_data_from_yaml(
64
- self,
65
- model_name,
66
- _metadata,
67
- verbose
68
- )
61
+ load_model_data_from_yaml(self, model_name, _metadata, verbose)
@@ -1,41 +1,39 @@
1
1
  from django.core.management.base import BaseCommand
2
+
2
3
  from endoreg_db.models import Event
3
- from ...utils import load_model_data_from_yaml
4
+
4
5
  from ...data import EVENT_DATA_DIR as SOURCE_DIR
6
+ from ...utils import load_model_data_from_yaml
5
7
 
6
8
  MODEL_0 = Event
7
9
 
8
- IMPORT_MODELS = [ # string as model key, serves as key in IMPORT_METADATA
10
+ IMPORT_MODELS = [ # string as model key, serves as key in IMPORT_METADATA
9
11
  MODEL_0.__name__,
10
12
  ]
11
13
 
12
14
  IMPORT_METADATA = {
13
15
  MODEL_0.__name__: {
14
- "dir": SOURCE_DIR, # e.g. "interventions"
15
- "model": MODEL_0, # e.g. Intervention
16
- "foreign_keys": [], # e.g. ["intervention_types"]
17
- "foreign_key_models": [] # e.g. [InterventionType]
16
+ "dir": SOURCE_DIR, # e.g. "interventions"
17
+ "model": MODEL_0,
18
+ "foreign_keys": [], # e.g. ["intervention_types"]
19
+ "foreign_key_models": [], # e.g. [InterventionType]
18
20
  }
19
21
  }
20
22
 
23
+
21
24
  class Command(BaseCommand):
22
25
  help = """Load all .yaml files in the data/intervention directory
23
26
  into the Intervention and InterventionType model"""
24
27
 
25
28
  def add_arguments(self, parser):
26
29
  parser.add_argument(
27
- '--verbose',
28
- action='store_true',
29
- help='Display verbose output',
30
+ "--verbose",
31
+ action="store_true",
32
+ help="Display verbose output",
30
33
  )
31
34
 
32
35
  def handle(self, *args, **options):
33
- verbose = options['verbose']
36
+ verbose = options["verbose"]
34
37
  for model_name in IMPORT_MODELS:
35
38
  _metadata = IMPORT_METADATA[model_name]
36
- load_model_data_from_yaml(
37
- self,
38
- model_name,
39
- _metadata,
40
- verbose
41
- )
39
+ load_model_data_from_yaml(self, model_name, _metadata, verbose)
@@ -1,75 +1,62 @@
1
+ import os
2
+
1
3
  from django.conf import settings
2
4
  from django.core.management.base import BaseCommand
3
- from ...models import (
4
- Examination,
5
- ExaminationType, # Replace 'your_app_name' with the actual app name
6
- ExaminationTime,
7
- ExaminationTimeType,
8
- )
9
- import os
10
- from ...utils import load_model_data_from_yaml
5
+
11
6
  from ...data import EXAMINATION_DATA_DIR
7
+ from ...models import Examination, ExaminationIndication, ExaminationTime, ExaminationTimeType, ExaminationType, Finding
8
+ from ...utils import load_model_data_from_yaml
12
9
 
13
- SOURCE_DIR = EXAMINATION_DATA_DIR
10
+ SOURCE_DIR = EXAMINATION_DATA_DIR
14
11
 
15
- 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
16
13
  "ExaminationType",
17
- "Examination",
18
14
  "ExaminationTimeType",
19
- "ExaminationTime"
15
+ "ExaminationTime",
16
+ "Examination",
20
17
  ]
21
18
 
22
19
  IMPORT_METADATA = {
23
- # "": { # same as model name in "import models", e.g. "Intervention"
24
- # "subdir": os.path.join(SOURCE_DIR,""), # e.g. "interventions"
25
- # "model": None, # e.g. Intervention
26
- # "foreign_keys": [], # e.g. ["intervention_types"]
27
- # "foreign_key_models": [] # e.g. [InterventionType]
28
- # },
29
20
  "ExaminationType": {
30
- "dir": os.path.join(SOURCE_DIR,"type"), # e.g. "interventions"
31
- "model": ExaminationType, # e.g. Intervention
32
- "foreign_keys": [], # e.g. ["intervention_types"]
33
- "foreign_key_models": [] # e.g. [InterventionType]
21
+ "dir": os.path.join(SOURCE_DIR, "type"),
22
+ "model": ExaminationType,
23
+ "foreign_keys": [],
24
+ "foreign_key_models": [],
34
25
  },
35
26
  "Examination": {
36
- "dir": os.path.join(SOURCE_DIR,"examinations"), # e.g. "interventions"
37
- "model": Examination, # e.g. Intervention
38
- "foreign_keys": ["examination_types"], # e.g. ["intervention_types"]
39
- "foreign_key_models": [ExaminationType] # e.g. [InterventionType]
27
+ "dir": os.path.join(SOURCE_DIR, "examinations"),
28
+ "model": Examination,
29
+ "foreign_keys": ["findings", "examination_types", "examination_times", "indications"],
30
+ "foreign_key_models": [Finding, ExaminationType, ExaminationTime, ExaminationIndication],
40
31
  },
41
32
  "ExaminationTimeType": {
42
- "dir": os.path.join(SOURCE_DIR,"time-type"), # e.g. "interventions"
43
- "model": ExaminationTimeType, # e.g. Intervention
44
- "foreign_keys": ["examinations"], # e.g. ["intervention_types"]
45
- "foreign_key_models": [Examination] # e.g. [InterventionType]
33
+ "dir": os.path.join(SOURCE_DIR, "time-type"),
34
+ "model": ExaminationTimeType,
35
+ "foreign_keys": ["examinations"],
36
+ "foreign_key_models": [Examination],
46
37
  },
47
38
  "ExaminationTime": {
48
- "dir": os.path.join(SOURCE_DIR,"time"), # e.g. "interventions"
49
- "model": ExaminationTime, # e.g. Intervention
50
- "foreign_keys": ["time_types"], # e.g. ["intervention_types"]
51
- "foreign_key_models": [ExaminationTimeType] # e.g. [InterventionType]
39
+ "dir": os.path.join(SOURCE_DIR, "time"),
40
+ "model": ExaminationTime,
41
+ "foreign_keys": ["time_types"],
42
+ "foreign_key_models": [ExaminationTimeType],
52
43
  },
53
44
  }
54
45
 
46
+
55
47
  class Command(BaseCommand):
56
48
  help = """Load all .yaml files in the data/intervention directory
57
49
  into the Intervention and InterventionType model"""
58
50
 
59
51
  def add_arguments(self, parser):
60
52
  parser.add_argument(
61
- '--verbose',
62
- action='store_true',
63
- help='Display verbose output',
53
+ "--verbose",
54
+ action="store_true",
55
+ help="Display verbose output",
64
56
  )
65
57
 
66
58
  def handle(self, *args, **options):
67
- verbose = options['verbose']
59
+ verbose = options["verbose"]
68
60
  for model_name in IMPORT_MODELS:
69
61
  _metadata = IMPORT_METADATA[model_name]
70
- load_model_data_from_yaml(
71
- self,
72
- model_name,
73
- _metadata,
74
- verbose
75
- )
62
+ load_model_data_from_yaml(self, model_name, _metadata, verbose)
@@ -1,24 +1,23 @@
1
- from django.conf import settings
2
1
  from django.core.management.base import BaseCommand
2
+
3
+ from ...data import (
4
+ EXAMINATION_INDICATION_CLASSIFICATION_CHOICE_DATA_DIR,
5
+ EXAMINATION_INDICATION_CLASSIFICATION_DATA_DIR,
6
+ EXAMINATION_INDICATION_DATA_DIR,
7
+ )
3
8
  from ...models import (
4
- ExaminationIndicationClassification,
5
9
  ExaminationIndication,
10
+ ExaminationIndicationClassification,
6
11
  ExaminationIndicationClassificationChoice,
7
- Examination,
8
12
  FindingIntervention,
13
+ InformationSource,
9
14
  )
10
15
  from ...utils import load_model_data_from_yaml
11
- from ...data import (
12
- EXAMINATION_INDICATION_CLASSIFICATION_CHOICE_DATA_DIR,
13
- EXAMINATION_INDICATION_CLASSIFICATION_DATA_DIR,
14
- EXAMINATION_INDICATION_DATA_DIR,
15
- )
16
-
17
16
 
18
17
  IMPORT_MODELS = [ # string as model key, serves as key in IMPORT_METADATA
19
- ExaminationIndication.__name__,
20
- ExaminationIndicationClassification.__name__,
21
18
  ExaminationIndicationClassificationChoice.__name__,
19
+ ExaminationIndicationClassification.__name__,
20
+ ExaminationIndication.__name__,
22
21
  ]
23
22
 
24
23
  IMPORT_METADATA = {
@@ -26,31 +25,31 @@ IMPORT_METADATA = {
26
25
  "dir": EXAMINATION_INDICATION_DATA_DIR,
27
26
  "model": ExaminationIndication,
28
27
  "foreign_keys": [
29
- "examinations",
30
28
  "expected_interventions",
29
+ "classifications",
30
+ "information_sources",
31
31
  ],
32
32
  "foreign_key_models": [
33
- Examination,
34
33
  FindingIntervention,
34
+ ExaminationIndicationClassification,
35
+ InformationSource,
35
36
  ],
36
37
  },
37
38
  ExaminationIndicationClassification.__name__: {
38
39
  "dir": EXAMINATION_INDICATION_CLASSIFICATION_DATA_DIR,
39
40
  "model": ExaminationIndicationClassification,
40
41
  "foreign_keys": [
41
- "examinations",
42
- "indications", # This is a many-to-many field
42
+ "choices", # This is a many-to-many field
43
43
  ],
44
44
  "foreign_key_models": [
45
- Examination,
46
- ExaminationIndication,
45
+ ExaminationIndicationClassificationChoice,
47
46
  ],
48
47
  },
49
48
  ExaminationIndicationClassificationChoice.__name__: {
50
49
  "dir": EXAMINATION_INDICATION_CLASSIFICATION_CHOICE_DATA_DIR,
51
50
  "model": ExaminationIndicationClassificationChoice,
52
- "foreign_keys": ["classification"],
53
- "foreign_key_models": [ExaminationIndicationClassification],
51
+ "foreign_keys": [],
52
+ "foreign_key_models": [],
54
53
  },
55
54
  }
56
55
 
@@ -62,7 +61,7 @@ class Command(BaseCommand):
62
61
  def add_arguments(self, parser):
63
62
  """
64
63
  Add the --verbose flag to the command-line argument parser.
65
-
64
+
66
65
  This method augments the parser with a '--verbose' option to enable detailed output
67
66
  during command execution.
68
67
  """
@@ -75,7 +74,7 @@ class Command(BaseCommand):
75
74
  def handle(self, *args, **options):
76
75
  """
77
76
  Executes YAML data import for configured models.
78
-
77
+
79
78
  Retrieves the verbosity flag from the options and iterates through each model
80
79
  in IMPORT_MODELS. For every model, it obtains the associated metadata from
81
80
  IMPORT_METADATA and invokes load_model_data_from_yaml to load data from its YAML files.