endoreg-db 0.8.6.1__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 (503) hide show
  1. endoreg_db/authz/auth.py +74 -0
  2. endoreg_db/authz/backends.py +168 -0
  3. endoreg_db/authz/management/commands/list_routes.py +18 -0
  4. endoreg_db/authz/middleware.py +83 -0
  5. endoreg_db/authz/permissions.py +127 -0
  6. endoreg_db/authz/policy.py +218 -0
  7. endoreg_db/authz/views_auth.py +66 -0
  8. endoreg_db/config/env.py +13 -8
  9. endoreg_db/data/__init__.py +2 -11
  10. endoreg_db/data/ai_model_meta/default_multilabel_classification.yaml +3 -3
  11. endoreg_db/data/event_classification/data.yaml +4 -0
  12. endoreg_db/data/event_classification_choice/data.yaml +9 -0
  13. endoreg_db/data/examination/examinations/data.yaml +114 -14
  14. endoreg_db/data/examination/time-type/data.yaml +0 -3
  15. endoreg_db/data/examination_indication/endoscopy.yaml +108 -173
  16. endoreg_db/data/examination_indication_classification/endoscopy.yaml +0 -70
  17. endoreg_db/data/examination_indication_classification_choice/endoscopy.yaml +33 -37
  18. endoreg_db/data/finding/00_generic.yaml +35 -0
  19. endoreg_db/data/finding/00_generic_complication.yaml +9 -0
  20. endoreg_db/data/finding/01_gastroscopy_baseline.yaml +88 -0
  21. endoreg_db/data/finding/01_gastroscopy_observation.yaml +113 -0
  22. endoreg_db/data/finding/02_colonoscopy_baseline.yaml +53 -0
  23. endoreg_db/data/finding/02_colonoscopy_hidden.yaml +119 -0
  24. endoreg_db/data/finding/02_colonoscopy_observation.yaml +152 -0
  25. endoreg_db/data/finding_classification/00_generic.yaml +44 -0
  26. endoreg_db/data/finding_classification/00_generic_histology.yaml +28 -0
  27. endoreg_db/data/finding_classification/00_generic_lesion.yaml +52 -0
  28. endoreg_db/data/finding_classification/02_colonoscopy_baseline.yaml +83 -0
  29. endoreg_db/data/finding_classification/02_colonoscopy_histology.yaml +13 -0
  30. endoreg_db/data/finding_classification/02_colonoscopy_other.yaml +12 -0
  31. endoreg_db/data/finding_classification/02_colonoscopy_polyp.yaml +101 -0
  32. endoreg_db/data/finding_classification_choice/{yes_no_na.yaml → 00_generic.yaml} +5 -1
  33. endoreg_db/data/finding_classification_choice/{examination_setting_generic_types.yaml → 00_generic_baseline.yaml} +10 -2
  34. endoreg_db/data/finding_classification_choice/{complication_generic_types.yaml → 00_generic_complication.yaml} +1 -1
  35. endoreg_db/data/finding_classification_choice/{histology.yaml → 00_generic_histology.yaml} +1 -4
  36. endoreg_db/data/finding_classification_choice/00_generic_lesion.yaml +158 -0
  37. endoreg_db/data/finding_classification_choice/{bowel_preparation.yaml → 02_colonoscopy_bowel_preparation.yaml} +1 -30
  38. endoreg_db/data/finding_classification_choice/{colonoscopy_not_complete_reason.yaml → 02_colonoscopy_generic.yaml} +1 -1
  39. endoreg_db/data/finding_classification_choice/{histology_polyp.yaml → 02_colonoscopy_histology.yaml} +1 -1
  40. endoreg_db/data/finding_classification_choice/{colonoscopy_location.yaml → 02_colonoscopy_location.yaml} +23 -4
  41. endoreg_db/data/finding_classification_choice/02_colonoscopy_other.yaml +34 -0
  42. endoreg_db/data/finding_classification_choice/02_colonoscopy_polyp_advanced_imaging.yaml +76 -0
  43. endoreg_db/data/finding_classification_choice/{colon_lesion_paris.yaml → 02_colonoscopy_polyp_morphology.yaml} +26 -8
  44. endoreg_db/data/finding_classification_choice/02_colonoscopy_size.yaml +27 -0
  45. endoreg_db/data/finding_classification_type/{colonoscopy_basic.yaml → 00_generic.yaml} +18 -13
  46. endoreg_db/data/finding_classification_type/02_colonoscopy.yaml +9 -0
  47. endoreg_db/data/finding_intervention/00_generic_endoscopy.yaml +59 -0
  48. endoreg_db/data/finding_intervention/00_generic_endoscopy_ablation.yaml +44 -0
  49. endoreg_db/data/finding_intervention/00_generic_endoscopy_bleeding.yaml +55 -0
  50. endoreg_db/data/finding_intervention/00_generic_endoscopy_resection.yaml +85 -0
  51. endoreg_db/data/finding_intervention/00_generic_endoscopy_stenosis.yaml +17 -0
  52. endoreg_db/data/finding_intervention/00_generic_endoscopy_stent.yaml +9 -0
  53. endoreg_db/data/finding_intervention/01_gastroscopy.yaml +19 -0
  54. endoreg_db/data/finding_intervention/04_eus.yaml +39 -0
  55. endoreg_db/data/finding_intervention/05_ercp.yaml +3 -0
  56. endoreg_db/data/finding_type/data.yaml +8 -12
  57. endoreg_db/data/requirement/01_patient_data.yaml +93 -0
  58. endoreg_db/data/requirement/old/colon_polyp_intervention.yaml +49 -0
  59. endoreg_db/data/requirement/old/coloreg_colon_polyp.yaml +49 -0
  60. endoreg_db/data/requirement_operator/new_operators.yaml +36 -0
  61. endoreg_db/data/requirement_set/01_endoscopy_generic.yaml +29 -12
  62. endoreg_db/data/requirement_set/01_laboratory.yaml +13 -0
  63. endoreg_db/data/requirement_set/{endoscopy_bleeding_risk.yaml → 02_endoscopy_bleeding_risk.yaml} +0 -6
  64. endoreg_db/data/requirement_set/90_coloreg.yaml +190 -0
  65. endoreg_db/data/requirement_set/_old_ +109 -0
  66. endoreg_db/data/requirement_set_type/data.yaml +21 -0
  67. endoreg_db/data/setup_config.yaml +4 -4
  68. endoreg_db/data/tag/requirement_set_tags.yaml +21 -0
  69. endoreg_db/exceptions.py +4 -2
  70. endoreg_db/forms/examination_form.py +1 -1
  71. endoreg_db/helpers/data_loader.py +125 -53
  72. endoreg_db/helpers/default_objects.py +116 -81
  73. endoreg_db/import_files/__init__.py +27 -0
  74. endoreg_db/import_files/context/__init__.py +7 -0
  75. endoreg_db/import_files/context/default_sensitive_meta.py +81 -0
  76. endoreg_db/import_files/context/ensure_center.py +17 -0
  77. endoreg_db/import_files/context/file_lock.py +66 -0
  78. endoreg_db/import_files/context/import_context.py +43 -0
  79. endoreg_db/import_files/context/validate_directories.py +56 -0
  80. endoreg_db/import_files/file_storage/__init__.py +15 -0
  81. endoreg_db/import_files/file_storage/create_report_file.py +76 -0
  82. endoreg_db/import_files/file_storage/create_video_file.py +75 -0
  83. endoreg_db/import_files/file_storage/sensitive_meta_storage.py +39 -0
  84. endoreg_db/import_files/file_storage/state_management.py +400 -0
  85. endoreg_db/import_files/file_storage/storage.py +36 -0
  86. endoreg_db/import_files/import_service.md +26 -0
  87. endoreg_db/import_files/processing/__init__.py +11 -0
  88. endoreg_db/import_files/processing/report_processing/report_anonymization.py +94 -0
  89. endoreg_db/import_files/processing/sensitive_meta_adapter.py +51 -0
  90. endoreg_db/import_files/processing/video_processing/video_anonymization.py +107 -0
  91. endoreg_db/import_files/processing/video_processing/video_cleanup_on_error.py +119 -0
  92. endoreg_db/import_files/pseudonymization/fake.py +52 -0
  93. endoreg_db/import_files/pseudonymization/k_anonymity.py +182 -0
  94. endoreg_db/import_files/pseudonymization/k_pseudonymity.py +128 -0
  95. endoreg_db/import_files/report_import_service.py +141 -0
  96. endoreg_db/import_files/video_import_service.py +150 -0
  97. endoreg_db/management/commands/create_model_meta_from_huggingface.py +21 -10
  98. endoreg_db/management/commands/create_multilabel_model_meta.py +299 -129
  99. endoreg_db/management/commands/import_report.py +130 -65
  100. endoreg_db/management/commands/import_video.py +9 -10
  101. endoreg_db/management/commands/import_video_with_classification.py +2 -2
  102. endoreg_db/management/commands/list_routes.py +18 -0
  103. endoreg_db/management/commands/load_ai_model_data.py +5 -5
  104. endoreg_db/management/commands/load_ai_model_label_data.py +9 -7
  105. endoreg_db/management/commands/load_base_db_data.py +5 -134
  106. endoreg_db/management/commands/load_center_data.py +12 -12
  107. endoreg_db/management/commands/load_contraindication_data.py +14 -16
  108. endoreg_db/management/commands/load_disease_classification_choices_data.py +15 -18
  109. endoreg_db/management/commands/load_disease_classification_data.py +15 -18
  110. endoreg_db/management/commands/load_disease_data.py +25 -28
  111. endoreg_db/management/commands/load_endoscope_data.py +20 -27
  112. endoreg_db/management/commands/load_event_data.py +14 -16
  113. endoreg_db/management/commands/load_examination_data.py +31 -44
  114. endoreg_db/management/commands/load_examination_indication_data.py +20 -21
  115. endoreg_db/management/commands/load_finding_data.py +52 -80
  116. endoreg_db/management/commands/load_information_source.py +21 -23
  117. endoreg_db/management/commands/load_lab_value_data.py +17 -26
  118. endoreg_db/management/commands/load_medication_data.py +13 -12
  119. endoreg_db/management/commands/load_organ_data.py +15 -19
  120. endoreg_db/management/commands/load_pdf_type_data.py +19 -18
  121. endoreg_db/management/commands/load_profession_data.py +14 -17
  122. endoreg_db/management/commands/load_qualification_data.py +20 -23
  123. endoreg_db/management/commands/load_report_reader_flag_data.py +17 -19
  124. endoreg_db/management/commands/load_requirement_data.py +62 -39
  125. endoreg_db/management/commands/load_requirement_set_tags.py +95 -0
  126. endoreg_db/management/commands/load_risk_data.py +7 -6
  127. endoreg_db/management/commands/load_shift_data.py +20 -23
  128. endoreg_db/management/commands/load_tag_data.py +8 -11
  129. endoreg_db/management/commands/load_unit_data.py +17 -19
  130. endoreg_db/management/commands/setup_endoreg_db.py +3 -3
  131. endoreg_db/management/commands/start_filewatcher.py +46 -37
  132. endoreg_db/management/commands/storage_management.py +271 -203
  133. endoreg_db/management/commands/validate_video_files.py +1 -5
  134. endoreg_db/migrations/0001_initial.py +297 -250
  135. endoreg_db/models/__init__.py +78 -123
  136. endoreg_db/models/administration/__init__.py +21 -42
  137. endoreg_db/models/administration/ai/active_model.py +2 -2
  138. endoreg_db/models/administration/ai/ai_model.py +7 -6
  139. endoreg_db/models/administration/case/__init__.py +1 -15
  140. endoreg_db/models/administration/case/case.py +3 -3
  141. endoreg_db/models/administration/case/case_template/__init__.py +2 -14
  142. endoreg_db/models/administration/case/case_template/case_template.py +2 -124
  143. endoreg_db/models/administration/case/case_template/case_template_rule.py +2 -268
  144. endoreg_db/models/administration/case/case_template/case_template_rule_value.py +2 -85
  145. endoreg_db/models/administration/case/case_template/case_template_type.py +2 -25
  146. endoreg_db/models/administration/center/center.py +33 -19
  147. endoreg_db/models/administration/center/center_product.py +12 -9
  148. endoreg_db/models/administration/center/center_resource.py +25 -19
  149. endoreg_db/models/administration/center/center_shift.py +21 -17
  150. endoreg_db/models/administration/center/center_waste.py +16 -8
  151. endoreg_db/models/administration/person/__init__.py +2 -0
  152. endoreg_db/models/administration/person/employee/employee.py +10 -5
  153. endoreg_db/models/administration/person/employee/employee_qualification.py +9 -4
  154. endoreg_db/models/administration/person/employee/employee_type.py +12 -6
  155. endoreg_db/models/administration/person/examiner/examiner.py +13 -11
  156. endoreg_db/models/administration/person/patient/__init__.py +2 -0
  157. endoreg_db/models/administration/person/patient/patient.py +129 -100
  158. endoreg_db/models/administration/person/patient/patient_external_id.py +37 -0
  159. endoreg_db/models/administration/person/person.py +4 -0
  160. endoreg_db/models/administration/person/profession/__init__.py +8 -4
  161. endoreg_db/models/administration/person/user/portal_user_information.py +11 -7
  162. endoreg_db/models/administration/product/product.py +20 -15
  163. endoreg_db/models/administration/product/product_material.py +17 -18
  164. endoreg_db/models/administration/product/product_weight.py +12 -8
  165. endoreg_db/models/administration/product/reference_product.py +23 -55
  166. endoreg_db/models/administration/qualification/qualification.py +7 -3
  167. endoreg_db/models/administration/qualification/qualification_type.py +7 -3
  168. endoreg_db/models/administration/shift/scheduled_days.py +8 -5
  169. endoreg_db/models/administration/shift/shift.py +16 -12
  170. endoreg_db/models/administration/shift/shift_type.py +23 -31
  171. endoreg_db/models/label/__init__.py +8 -9
  172. endoreg_db/models/label/annotation/image_classification.py +10 -9
  173. endoreg_db/models/label/annotation/video_segmentation_annotation.py +23 -28
  174. endoreg_db/models/label/label.py +15 -15
  175. endoreg_db/models/label/label_set.py +19 -6
  176. endoreg_db/models/label/label_type.py +1 -1
  177. endoreg_db/models/label/label_video_segment/_create_from_video.py +5 -8
  178. endoreg_db/models/label/label_video_segment/label_video_segment.py +98 -102
  179. endoreg_db/models/label/video_segmentation_label.py +4 -0
  180. endoreg_db/models/label/video_segmentation_labelset.py +4 -3
  181. endoreg_db/models/media/frame/frame.py +22 -22
  182. endoreg_db/models/media/pdf/raw_pdf.py +194 -194
  183. endoreg_db/models/media/pdf/report_file.py +25 -29
  184. endoreg_db/models/media/pdf/report_reader/report_reader_config.py +55 -47
  185. endoreg_db/models/media/pdf/report_reader/report_reader_flag.py +23 -7
  186. endoreg_db/models/media/processing_history/__init__.py +5 -0
  187. endoreg_db/models/media/processing_history/processing_history.py +96 -0
  188. endoreg_db/models/media/video/__init__.py +1 -0
  189. endoreg_db/models/media/video/create_from_file.py +139 -77
  190. endoreg_db/models/media/video/pipe_2.py +8 -9
  191. endoreg_db/models/media/video/video_file.py +174 -112
  192. endoreg_db/models/media/video/video_file_ai.py +288 -74
  193. endoreg_db/models/media/video/video_file_anonymize.py +38 -38
  194. endoreg_db/models/media/video/video_file_frames/__init__.py +3 -1
  195. endoreg_db/models/media/video/video_file_frames/_bulk_create_frames.py +6 -8
  196. endoreg_db/models/media/video/video_file_frames/_create_frame_object.py +7 -9
  197. endoreg_db/models/media/video/video_file_frames/_delete_frames.py +9 -8
  198. endoreg_db/models/media/video/video_file_frames/_extract_frames.py +38 -45
  199. endoreg_db/models/media/video/video_file_frames/_get_frame.py +6 -8
  200. endoreg_db/models/media/video/video_file_frames/_get_frame_number.py +4 -18
  201. endoreg_db/models/media/video/video_file_frames/_get_frame_path.py +4 -3
  202. endoreg_db/models/media/video/video_file_frames/_get_frame_paths.py +7 -6
  203. endoreg_db/models/media/video/video_file_frames/_get_frame_range.py +6 -8
  204. endoreg_db/models/media/video/video_file_frames/_get_frames.py +6 -8
  205. endoreg_db/models/media/video/video_file_frames/_initialize_frames.py +15 -25
  206. endoreg_db/models/media/video/video_file_frames/_manage_frame_range.py +26 -23
  207. endoreg_db/models/media/video/video_file_frames/_mark_frames_extracted_status.py +23 -14
  208. endoreg_db/models/media/video/video_file_io.py +113 -61
  209. endoreg_db/models/media/video/video_file_meta/get_crop_template.py +3 -3
  210. endoreg_db/models/media/video/video_file_meta/get_endo_roi.py +5 -3
  211. endoreg_db/models/media/video/video_file_meta/get_fps.py +37 -34
  212. endoreg_db/models/media/video/video_file_meta/initialize_video_specs.py +19 -25
  213. endoreg_db/models/media/video/video_file_meta/text_meta.py +41 -38
  214. endoreg_db/models/media/video/video_file_meta/video_meta.py +14 -7
  215. endoreg_db/models/media/video/video_file_segments.py +24 -17
  216. endoreg_db/models/media/video/video_metadata.py +19 -35
  217. endoreg_db/models/media/video/video_processing.py +96 -95
  218. endoreg_db/models/medical/contraindication/README.md +1 -0
  219. endoreg_db/models/medical/contraindication/__init__.py +13 -3
  220. endoreg_db/models/medical/disease.py +22 -16
  221. endoreg_db/models/medical/event.py +31 -18
  222. endoreg_db/models/medical/examination/__init__.py +13 -6
  223. endoreg_db/models/medical/examination/examination.py +39 -20
  224. endoreg_db/models/medical/examination/examination_indication.py +30 -95
  225. endoreg_db/models/medical/examination/examination_time.py +23 -8
  226. endoreg_db/models/medical/examination/examination_time_type.py +9 -6
  227. endoreg_db/models/medical/examination/examination_type.py +3 -4
  228. endoreg_db/models/medical/finding/finding.py +32 -40
  229. endoreg_db/models/medical/finding/finding_classification.py +42 -72
  230. endoreg_db/models/medical/finding/finding_intervention.py +25 -22
  231. endoreg_db/models/medical/finding/finding_type.py +13 -12
  232. endoreg_db/models/medical/hardware/endoscope.py +26 -26
  233. endoreg_db/models/medical/hardware/endoscopy_processor.py +2 -2
  234. endoreg_db/models/medical/laboratory/lab_value.py +62 -91
  235. endoreg_db/models/medical/medication/medication.py +22 -10
  236. endoreg_db/models/medical/medication/medication_indication.py +29 -3
  237. endoreg_db/models/medical/medication/medication_indication_type.py +25 -14
  238. endoreg_db/models/medical/medication/medication_intake_time.py +31 -19
  239. endoreg_db/models/medical/medication/medication_schedule.py +27 -16
  240. endoreg_db/models/medical/organ/__init__.py +15 -12
  241. endoreg_db/models/medical/patient/medication_examples.py +6 -6
  242. endoreg_db/models/medical/patient/patient_disease.py +20 -23
  243. endoreg_db/models/medical/patient/patient_event.py +19 -22
  244. endoreg_db/models/medical/patient/patient_examination.py +48 -54
  245. endoreg_db/models/medical/patient/patient_examination_indication.py +16 -14
  246. endoreg_db/models/medical/patient/patient_finding.py +122 -139
  247. endoreg_db/models/medical/patient/patient_finding_classification.py +44 -49
  248. endoreg_db/models/medical/patient/patient_finding_intervention.py +8 -19
  249. endoreg_db/models/medical/patient/patient_lab_sample.py +28 -23
  250. endoreg_db/models/medical/patient/patient_lab_value.py +82 -89
  251. endoreg_db/models/medical/patient/patient_medication.py +27 -38
  252. endoreg_db/models/medical/patient/patient_medication_schedule.py +28 -36
  253. endoreg_db/models/medical/risk/risk.py +7 -6
  254. endoreg_db/models/medical/risk/risk_type.py +8 -5
  255. endoreg_db/models/metadata/model_meta.py +60 -29
  256. endoreg_db/models/metadata/model_meta_logic.py +125 -18
  257. endoreg_db/models/metadata/pdf_meta.py +31 -24
  258. endoreg_db/models/metadata/sensitive_meta.py +105 -85
  259. endoreg_db/models/metadata/sensitive_meta_logic.py +198 -103
  260. endoreg_db/models/metadata/video_meta.py +51 -31
  261. endoreg_db/models/metadata/video_prediction_logic.py +16 -23
  262. endoreg_db/models/metadata/video_prediction_meta.py +29 -33
  263. endoreg_db/models/other/distribution/date_value_distribution.py +89 -29
  264. endoreg_db/models/other/distribution/multiple_categorical_value_distribution.py +21 -5
  265. endoreg_db/models/other/distribution/numeric_value_distribution.py +114 -53
  266. endoreg_db/models/other/distribution/single_categorical_value_distribution.py +4 -3
  267. endoreg_db/models/other/emission/emission_factor.py +18 -8
  268. endoreg_db/models/other/gender.py +10 -5
  269. endoreg_db/models/other/information_source.py +50 -29
  270. endoreg_db/models/other/material.py +9 -5
  271. endoreg_db/models/other/resource.py +6 -4
  272. endoreg_db/models/other/tag.py +10 -5
  273. endoreg_db/models/other/transport_route.py +13 -8
  274. endoreg_db/models/other/unit.py +10 -6
  275. endoreg_db/models/other/waste.py +6 -5
  276. endoreg_db/models/report/report.py +6 -0
  277. endoreg_db/models/requirement/requirement.py +329 -361
  278. endoreg_db/models/requirement/requirement_error.py +85 -0
  279. endoreg_db/models/requirement/requirement_evaluation/evaluate_with_dependencies.py +268 -0
  280. endoreg_db/models/requirement/requirement_evaluation/operator_evaluation_models.py +3 -6
  281. endoreg_db/models/requirement/requirement_evaluation/requirement_type_parser.py +90 -64
  282. endoreg_db/models/requirement/requirement_operator.py +103 -112
  283. endoreg_db/models/requirement/requirement_set.py +74 -57
  284. endoreg_db/models/state/__init__.py +4 -4
  285. endoreg_db/models/state/abstract.py +2 -2
  286. endoreg_db/models/state/anonymization.py +12 -0
  287. endoreg_db/models/state/audit_ledger.py +49 -51
  288. endoreg_db/models/state/label_video_segment.py +9 -0
  289. endoreg_db/models/state/raw_pdf.py +101 -68
  290. endoreg_db/models/state/sensitive_meta.py +6 -2
  291. endoreg_db/models/state/video.py +110 -90
  292. endoreg_db/models/upload_job.py +35 -34
  293. endoreg_db/models/utils.py +28 -25
  294. endoreg_db/queries/__init__.py +3 -1
  295. endoreg_db/root_urls.py +21 -2
  296. endoreg_db/schemas/examination_evaluation.py +1 -1
  297. endoreg_db/serializers/__init__.py +2 -10
  298. endoreg_db/serializers/anonymization.py +18 -10
  299. endoreg_db/serializers/label_video_segment/label_video_segment.py +2 -29
  300. endoreg_db/serializers/meta/__init__.py +1 -6
  301. endoreg_db/serializers/meta/sensitive_meta_detail.py +63 -118
  302. endoreg_db/serializers/misc/file_overview.py +11 -99
  303. endoreg_db/serializers/misc/sensitive_patient_data.py +50 -26
  304. endoreg_db/serializers/patient_examination/patient_examination.py +3 -3
  305. endoreg_db/serializers/pdf/anony_text_validation.py +39 -23
  306. endoreg_db/serializers/requirements/requirement_sets.py +92 -22
  307. endoreg_db/serializers/video/segmentation.py +2 -1
  308. endoreg_db/serializers/video/video_file_list.py +65 -34
  309. endoreg_db/serializers/video/video_processing_history.py +20 -5
  310. endoreg_db/services/__old/pdf_import.py +1487 -0
  311. endoreg_db/services/__old/video_import.py +1306 -0
  312. endoreg_db/services/anonymization.py +128 -89
  313. endoreg_db/services/lookup_service.py +65 -52
  314. endoreg_db/services/lookup_store.py +2 -2
  315. endoreg_db/services/pdf_import.py +0 -1382
  316. endoreg_db/services/report_import.py +10 -0
  317. endoreg_db/services/video_import.py +6 -1255
  318. endoreg_db/tasks/upload_tasks.py +79 -70
  319. endoreg_db/tasks/video_ingest.py +8 -4
  320. endoreg_db/urls/__init__.py +5 -32
  321. endoreg_db/urls/ai.py +32 -0
  322. endoreg_db/urls/media.py +121 -83
  323. endoreg_db/urls/root_urls.py +29 -0
  324. endoreg_db/utils/__init__.py +15 -5
  325. endoreg_db/utils/ai/multilabel_classification_net.py +116 -20
  326. endoreg_db/utils/case_generator/__init__.py +3 -0
  327. endoreg_db/utils/dataloader.py +142 -40
  328. endoreg_db/utils/defaults/set_default_center.py +32 -0
  329. endoreg_db/utils/names.py +22 -16
  330. endoreg_db/utils/paths.py +110 -46
  331. endoreg_db/utils/permissions.py +2 -1
  332. endoreg_db/utils/pipelines/Readme.md +1 -1
  333. endoreg_db/utils/pipelines/process_video_dir.py +1 -1
  334. endoreg_db/utils/requirement_operator_logic/_old/model_evaluators.py +655 -0
  335. endoreg_db/utils/requirement_operator_logic/new_operator_logic.py +97 -0
  336. endoreg_db/utils/setup_config.py +8 -5
  337. endoreg_db/utils/storage.py +115 -0
  338. endoreg_db/utils/validate_endo_roi.py +8 -2
  339. endoreg_db/utils/video/ffmpeg_wrapper.py +184 -188
  340. endoreg_db/views/__init__.py +85 -183
  341. endoreg_db/views/ai/__init__.py +8 -0
  342. endoreg_db/views/ai/label.py +155 -0
  343. endoreg_db/views/anonymization/media_management.py +202 -166
  344. endoreg_db/views/anonymization/overview.py +99 -67
  345. endoreg_db/views/anonymization/validate.py +182 -44
  346. endoreg_db/views/media/__init__.py +7 -20
  347. endoreg_db/views/media/pdf_media.py +197 -174
  348. endoreg_db/views/media/sensitive_metadata.py +193 -138
  349. endoreg_db/views/media/video_media.py +89 -82
  350. endoreg_db/views/meta/__init__.py +0 -8
  351. endoreg_db/views/misc/__init__.py +1 -7
  352. endoreg_db/views/misc/upload_views.py +94 -93
  353. endoreg_db/views/patient/patient.py +5 -4
  354. endoreg_db/views/report/__init__.py +5 -7
  355. endoreg_db/views/{pdf → report}/reimport.py +22 -22
  356. endoreg_db/views/{pdf/pdf_stream.py → report/report_stream.py} +46 -39
  357. endoreg_db/views/requirement/evaluate.py +188 -187
  358. endoreg_db/views/requirement/lookup.py +17 -3
  359. endoreg_db/views/requirement/lookup_store.py +22 -90
  360. endoreg_db/views/requirement/requirement_utils.py +89 -0
  361. endoreg_db/views/video/__init__.py +23 -24
  362. endoreg_db/views/video/correction.py +201 -172
  363. endoreg_db/views/video/reimport.py +1 -1
  364. endoreg_db/views/{media/video_segments.py → video/segments_crud.py} +77 -40
  365. endoreg_db/views/video/{video_meta.py → video_meta_stats.py} +2 -2
  366. endoreg_db/views/video/video_stream.py +7 -8
  367. {endoreg_db-0.8.6.1.dist-info → endoreg_db-0.8.8.9.dist-info}/METADATA +7 -3
  368. {endoreg_db-0.8.6.1.dist-info → endoreg_db-0.8.8.9.dist-info}/RECORD +391 -413
  369. {endoreg_db-0.8.6.1.dist-info → endoreg_db-0.8.8.9.dist-info}/WHEEL +1 -1
  370. endoreg_db/data/finding/anatomy_colon.yaml +0 -128
  371. endoreg_db/data/finding/colonoscopy.yaml +0 -40
  372. endoreg_db/data/finding/colonoscopy_bowel_prep.yaml +0 -56
  373. endoreg_db/data/finding/complication.yaml +0 -16
  374. endoreg_db/data/finding/data.yaml +0 -105
  375. endoreg_db/data/finding/examination_setting.yaml +0 -16
  376. endoreg_db/data/finding/medication_related.yaml +0 -18
  377. endoreg_db/data/finding/outcome.yaml +0 -12
  378. endoreg_db/data/finding_classification/colonoscopy_bowel_preparation.yaml +0 -95
  379. endoreg_db/data/finding_classification/colonoscopy_jnet.yaml +0 -22
  380. endoreg_db/data/finding_classification/colonoscopy_kudo.yaml +0 -25
  381. endoreg_db/data/finding_classification/colonoscopy_lesion_circularity.yaml +0 -20
  382. endoreg_db/data/finding_classification/colonoscopy_lesion_planarity.yaml +0 -24
  383. endoreg_db/data/finding_classification/colonoscopy_lesion_size.yaml +0 -68
  384. endoreg_db/data/finding_classification/colonoscopy_lesion_surface.yaml +0 -20
  385. endoreg_db/data/finding_classification/colonoscopy_location.yaml +0 -80
  386. endoreg_db/data/finding_classification/colonoscopy_lst.yaml +0 -21
  387. endoreg_db/data/finding_classification/colonoscopy_nice.yaml +0 -20
  388. endoreg_db/data/finding_classification/colonoscopy_paris.yaml +0 -26
  389. endoreg_db/data/finding_classification/colonoscopy_sano.yaml +0 -22
  390. endoreg_db/data/finding_classification/colonoscopy_summary.yaml +0 -53
  391. endoreg_db/data/finding_classification/complication_generic.yaml +0 -25
  392. endoreg_db/data/finding_classification/examination_setting_generic.yaml +0 -40
  393. endoreg_db/data/finding_classification/histology_colo.yaml +0 -51
  394. endoreg_db/data/finding_classification/intervention_required.yaml +0 -26
  395. endoreg_db/data/finding_classification/medication_related.yaml +0 -23
  396. endoreg_db/data/finding_classification/visualized.yaml +0 -33
  397. endoreg_db/data/finding_classification_choice/colon_lesion_circularity_default.yaml +0 -32
  398. endoreg_db/data/finding_classification_choice/colon_lesion_jnet.yaml +0 -15
  399. endoreg_db/data/finding_classification_choice/colon_lesion_kudo.yaml +0 -23
  400. endoreg_db/data/finding_classification_choice/colon_lesion_lst.yaml +0 -15
  401. endoreg_db/data/finding_classification_choice/colon_lesion_nice.yaml +0 -17
  402. endoreg_db/data/finding_classification_choice/colon_lesion_planarity_default.yaml +0 -49
  403. endoreg_db/data/finding_classification_choice/colon_lesion_sano.yaml +0 -14
  404. endoreg_db/data/finding_classification_choice/colon_lesion_surface_intact_default.yaml +0 -36
  405. endoreg_db/data/finding_classification_choice/colonoscopy_size.yaml +0 -82
  406. endoreg_db/data/finding_classification_choice/colonoscopy_summary_worst_finding.yaml +0 -15
  407. endoreg_db/data/finding_classification_choice/outcome.yaml +0 -19
  408. endoreg_db/data/finding_intervention/endoscopy.yaml +0 -43
  409. endoreg_db/data/finding_intervention/endoscopy_colonoscopy.yaml +0 -168
  410. endoreg_db/data/finding_intervention/endoscopy_egd.yaml +0 -128
  411. endoreg_db/data/finding_intervention/endoscopy_ercp.yaml +0 -32
  412. endoreg_db/data/finding_intervention/endoscopy_eus_lower.yaml +0 -9
  413. endoreg_db/data/finding_intervention/endoscopy_eus_upper.yaml +0 -36
  414. endoreg_db/data/finding_morphology_classification_type/colonoscopy.yaml +0 -79
  415. endoreg_db/data/requirement/age.yaml +0 -26
  416. endoreg_db/data/requirement/gender.yaml +0 -25
  417. endoreg_db/management/commands/init_default_ai_model.py +0 -112
  418. endoreg_db/management/commands/reset_celery_schedule.py +0 -9
  419. endoreg_db/management/commands/validate_video.py +0 -204
  420. endoreg_db/migrations/0002_add_video_correction_models.py +0 -52
  421. endoreg_db/migrations/0003_add_center_display_name.py +0 -30
  422. endoreg_db/models/administration/permissions/__init__.py +0 -44
  423. endoreg_db/models/rule/__init__.py +0 -13
  424. endoreg_db/models/rule/rule.py +0 -27
  425. endoreg_db/models/rule/rule_applicator.py +0 -224
  426. endoreg_db/models/rule/rule_attribute_dtype.py +0 -17
  427. endoreg_db/models/rule/rule_type.py +0 -20
  428. endoreg_db/models/rule/ruleset.py +0 -17
  429. endoreg_db/renames.yml +0 -8
  430. endoreg_db/serializers/_old/raw_pdf_meta_validation.py +0 -223
  431. endoreg_db/serializers/_old/raw_video_meta_validation.py +0 -179
  432. endoreg_db/serializers/_old/video.py +0 -71
  433. endoreg_db/serializers/meta/pdf_file_meta_extraction.py +0 -115
  434. endoreg_db/serializers/meta/report_meta.py +0 -53
  435. endoreg_db/serializers/report/__init__.py +0 -9
  436. endoreg_db/serializers/report/mixins.py +0 -45
  437. endoreg_db/serializers/report/report.py +0 -105
  438. endoreg_db/serializers/report/report_list.py +0 -22
  439. endoreg_db/serializers/report/secure_file_url.py +0 -26
  440. endoreg_db/serializers/video/video_metadata.py +0 -105
  441. endoreg_db/services/requirements_object.py +0 -147
  442. endoreg_db/services/storage_aware_video_processor.py +0 -344
  443. endoreg_db/urls/files.py +0 -6
  444. endoreg_db/urls/label_video_segment_validate.py +0 -33
  445. endoreg_db/urls/label_video_segments.py +0 -46
  446. endoreg_db/urls/report.py +0 -48
  447. endoreg_db/urls/video.py +0 -61
  448. endoreg_db/utils/case_generator/case_generator.py +0 -159
  449. endoreg_db/utils/case_generator/utils.py +0 -30
  450. endoreg_db/utils/requirement_operator_logic/model_evaluators.py +0 -368
  451. endoreg_db/views/label/__init__.py +0 -5
  452. endoreg_db/views/label/label.py +0 -15
  453. endoreg_db/views/label_video_segment/__init__.py +0 -16
  454. endoreg_db/views/label_video_segment/create_lvs_from_annotation.py +0 -44
  455. endoreg_db/views/label_video_segment/get_lvs_by_name_and_video.py +0 -50
  456. endoreg_db/views/label_video_segment/label_video_segment.py +0 -77
  457. endoreg_db/views/label_video_segment/label_video_segment_by_label.py +0 -174
  458. endoreg_db/views/label_video_segment/label_video_segment_detail.py +0 -73
  459. endoreg_db/views/label_video_segment/update_lvs_from_annotation.py +0 -46
  460. endoreg_db/views/label_video_segment/validate.py +0 -226
  461. endoreg_db/views/media/segments.py +0 -71
  462. endoreg_db/views/meta/available_files_list.py +0 -146
  463. endoreg_db/views/meta/report_meta.py +0 -53
  464. endoreg_db/views/meta/sensitive_meta_detail.py +0 -148
  465. endoreg_db/views/misc/secure_file_serving_view.py +0 -80
  466. endoreg_db/views/misc/secure_file_url_view.py +0 -84
  467. endoreg_db/views/misc/secure_url_validate.py +0 -79
  468. endoreg_db/views/patient_examination/DEPRECATED_video_backup.py +0 -164
  469. endoreg_db/views/patient_finding_location/__init__.py +0 -5
  470. endoreg_db/views/patient_finding_location/pfl_create.py +0 -70
  471. endoreg_db/views/patient_finding_morphology/__init__.py +0 -5
  472. endoreg_db/views/patient_finding_morphology/pfm_create.py +0 -70
  473. endoreg_db/views/pdf/__init__.py +0 -8
  474. endoreg_db/views/report/report_list.py +0 -112
  475. endoreg_db/views/report/report_with_secure_url.py +0 -28
  476. endoreg_db/views/report/start_examination.py +0 -7
  477. endoreg_db/views/video/segmentation.py +0 -274
  478. endoreg_db/views/video/task_status.py +0 -49
  479. endoreg_db/views/video/timeline.py +0 -46
  480. endoreg_db/views/video/video_analyze.py +0 -52
  481. endoreg_db/views.py +0 -0
  482. /endoreg_db/data/requirement/{colonoscopy_baseline_austria.yaml → old/colonoscopy_baseline_austria.yaml} +0 -0
  483. /endoreg_db/data/requirement/{disease_cardiovascular.yaml → old/disease_cardiovascular.yaml} +0 -0
  484. /endoreg_db/data/requirement/{disease_classification_choice_cardiovascular.yaml → old/disease_classification_choice_cardiovascular.yaml} +0 -0
  485. /endoreg_db/data/requirement/{disease_hepatology.yaml → old/disease_hepatology.yaml} +0 -0
  486. /endoreg_db/data/requirement/{disease_misc.yaml → old/disease_misc.yaml} +0 -0
  487. /endoreg_db/data/requirement/{disease_renal.yaml → old/disease_renal.yaml} +0 -0
  488. /endoreg_db/data/requirement/{endoscopy_bleeding_risk.yaml → old/endoscopy_bleeding_risk.yaml} +0 -0
  489. /endoreg_db/data/requirement/{event_cardiology.yaml → old/event_cardiology.yaml} +0 -0
  490. /endoreg_db/data/requirement/{event_requirements.yaml → old/event_requirements.yaml} +0 -0
  491. /endoreg_db/data/requirement/{finding_colon_polyp.yaml → old/finding_colon_polyp.yaml} +0 -0
  492. /endoreg_db/{migrations/__init__.py → data/requirement/old/gender.yaml} +0 -0
  493. /endoreg_db/data/requirement/{lab_value.yaml → old/lab_value.yaml} +0 -0
  494. /endoreg_db/data/requirement/{medication.yaml → old/medication.yaml} +0 -0
  495. /endoreg_db/data/requirement_operator/{age.yaml → _old/age.yaml} +0 -0
  496. /endoreg_db/data/requirement_operator/{lab_operators.yaml → _old/lab_operators.yaml} +0 -0
  497. /endoreg_db/data/requirement_operator/{model_operators.yaml → _old/model_operators.yaml} +0 -0
  498. /endoreg_db/{models/media/video/refactor_plan.md → import_files/pseudonymization/__init__.py} +0 -0
  499. /endoreg_db/{models/media/video/video_file_frames.py → import_files/pseudonymization/pseudonymize.py} +0 -0
  500. /endoreg_db/models/{metadata/frame_ocr_result.py → report/__init__.py} +0 -0
  501. /endoreg_db/{urls/sensitive_meta.py → models/report/images.py} +0 -0
  502. /endoreg_db/utils/requirement_operator_logic/{lab_value_operators.py → _old/lab_value_operators.py} +0 -0
  503. {endoreg_db-0.8.6.1.dist-info → endoreg_db-0.8.8.9.dist-info}/licenses/LICENSE +0 -0
@@ -1,7 +1,6 @@
1
1
  - model: endoreg_db.examination_indication_classification_choice
2
2
  fields:
3
3
  name: "colonoscopy_bleeding"
4
- classification: "endoscopy_colonoscopy"
5
4
  name_de: "Koloskopie: Blutung"
6
5
  name_en: "Colonoscopy: Bleeding"
7
6
  subcategories:
@@ -15,19 +14,19 @@
15
14
  - model: endoreg_db.examination_indication_classification_choice
16
15
  fields:
17
16
  name: "colonoscopy_surveillance"
18
- classification: "endoscopy_colonoscopy"
19
17
  name_de: "Koloskopie: Überwachung"
20
18
  name_en: "Colonoscopy: Surveillance"
21
19
  subcategories:
22
20
  reason:
23
- choices: [
24
- "unknown",
25
- "polypectomy_surveillance",
26
- "known_polyposis_syndrome",
27
- "known_inflammatory_bowel_disease",
28
- "suspected_inflammatory_bowel_disease",
29
- "positive_ifobt",
30
- ]
21
+ choices:
22
+ [
23
+ "unknown",
24
+ "polypectomy_surveillance",
25
+ "known_polyposis_syndrome",
26
+ "known_inflammatory_bowel_disease",
27
+ "suspected_inflammatory_bowel_disease",
28
+ "positive_ifobt",
29
+ ]
31
30
  default: "unknown"
32
31
  probability: [0.5, 0.1, 0.1, 0.1, 0.2]
33
32
  required: true
@@ -42,20 +41,20 @@
42
41
  distribution: "normal"
43
42
  description: "Months since last colonoscopy"
44
43
  required: true
45
-
44
+
46
45
  - model: endoreg_db.examination_indication_classification_choice
47
46
  fields:
48
47
  name: "colonoscopy_screening"
49
- classification: "endoscopy_colonoscopy"
50
48
  name_de: "Koloskopie: Screening"
51
49
  name_en: "Colonoscopy: Screening"
52
50
  subcategories:
53
51
  reason:
54
- choices: [
55
- "age",
56
- "family_history_colorectal_cancer",
57
- "family_history_polyposis_syndrome",
58
- ]
52
+ choices:
53
+ [
54
+ "age",
55
+ "family_history_colorectal_cancer",
56
+ "family_history_polyposis_syndrome",
57
+ ]
59
58
  default: "age"
60
59
  probability: [0.8, 0.1, 0.1]
61
60
  required: true
@@ -64,38 +63,35 @@
64
63
  - model: endoreg_db.examination_indication_classification_choice
65
64
  fields:
66
65
  name: "colonoscopy_diagnostic"
67
- classification: "endoscopy_colonoscopy"
68
66
  name_de: "Koloskopie: Diagnostik"
69
67
  name_en: "Colonoscopy: Diagnostic"
70
68
  subcategories:
71
69
  reason:
72
- choices: [
73
- "abdominal_pain",
74
- "diarrhea",
75
- "constipation",
76
- "weight_loss",
77
- "anemia",
78
- "positive_ifobt",
79
- "suspected_inflammatory_bowel_disease",
80
- ]
70
+ choices:
71
+ [
72
+ "abdominal_pain",
73
+ "diarrhea",
74
+ "constipation",
75
+ "weight_loss",
76
+ "anemia",
77
+ "positive_ifobt",
78
+ "suspected_inflammatory_bowel_disease",
79
+ ]
81
80
  default: "abdominal_pain"
82
- probability: [0.2,0.2,0.2,0.0.5,0.1,0.1,0.05]
81
+ probability: [0.2, 0.2, 0.2, 0.0.5, 0.1, 0.1, 0.05]
83
82
  required: true
84
83
 
85
84
  - model: endoreg_db.examination_indication_classification_choice
86
85
  fields:
87
86
  name: "colonoscopy_therapeutic"
88
- classification: "endoscopy_colonoscopy"
89
87
  name_de: "Koloskopie: therapeutisch"
90
88
  name_en: "Colonoscopy: Therapeutic"
91
89
  subcategories:
92
90
  reason:
93
91
  choices: [
94
- "lesion_removal", # > 9mm
95
- "hemostasis",
96
- "dilatation",
97
- "stent_placement",
98
- "foreign_body_removal"
99
- ]
100
-
101
-
92
+ "lesion_removal", # > 9mm
93
+ "hemostasis",
94
+ "dilatation",
95
+ "stent_placement",
96
+ "foreign_body_removal",
97
+ ]
@@ -0,0 +1,35 @@
1
+ - model: endoreg_db.finding
2
+ fields:
3
+ name: "examination_setting"
4
+ finding_types:
5
+ - baseline
6
+ description: "Settings related to the examination environment and conditions."
7
+ finding_classifications:
8
+ - examination_setting_generic_location
9
+
10
+ - model: endoreg_db.finding
11
+ fields:
12
+ name: "sedation_endoscopy"
13
+ description: "Sedation during an examination"
14
+ finding_types:
15
+ - baseline
16
+ finding_classifications:
17
+ - sedation_performed
18
+ - examination_setting_generic_sedation
19
+
20
+ - model: endoreg_db.finding
21
+ fields:
22
+ name: "post_resection_wound"
23
+ description: "Postresection Wound"
24
+ finding_types:
25
+ - observation
26
+ - iatrogenic
27
+ finding_interventions:
28
+ - endoscopy_injection_vasoactive
29
+ - endoscopy_hemoclip_generic
30
+ - endoscopy_over_the_scope_clip_generic
31
+ finding_classifications: [] #TODO active bleeding? macroscopically in sano?
32
+ caused_by_interventions:
33
+ - endoscopy_cold_snare_resection_generic
34
+ - endoscopy_diathermic_snare_resection_generic
35
+ - endoscopy_biopsy_foreceps_resection_generic
@@ -0,0 +1,9 @@
1
+ - model: endoreg_db.finding
2
+ fields:
3
+ name: "complication_generic"
4
+ name_de: "Komplikation (generisch)"
5
+ name_en: "Complication (generic)"
6
+ finding_types:
7
+ - complication
8
+ finding_classifications:
9
+ - complication_generic_type
@@ -0,0 +1,88 @@
1
+ - model: endoreg_db.finding
2
+ fields:
3
+ name: "gastroscopy_esophagus_mucosa"
4
+ name_de: "Speiseröhren-Schleimhaut"
5
+ name_en: "Esophagus Mucosa"
6
+ finding_types:
7
+ - baseline
8
+ finding_classifications: [] #TODO
9
+ finding_interventions: []
10
+
11
+ - model: endoreg_db.finding
12
+ fields:
13
+ name: "gastroscopy_gastroesophageal_junction"
14
+ name_de: "Gastroösophagealer Übergang"
15
+ name_en: "Gastroesophageal Junction"
16
+ finding_types:
17
+ - baseline
18
+ finding_classifications: []
19
+ finding_interventions: []
20
+
21
+ - model: endoreg_db.finding
22
+ fields:
23
+ name: "gastroscopy_fundus_mucosa"
24
+ name_de: "Magenfundus-Schleimhaut"
25
+ name_en: "Gastric Fundus Mucosa"
26
+ finding_types:
27
+ - baseline
28
+ finding_classifications: []
29
+ finding_interventions: []
30
+
31
+ - model: endoreg_db.finding
32
+ fields:
33
+ name: "gastroscopy_corpus_mucosa"
34
+ name_de: "Magenkörper-Schleimhaut"
35
+ name_en: "Gastric Corpus Mucosa"
36
+ finding_types:
37
+ - baseline
38
+ finding_classifications: []
39
+ finding_interventions: []
40
+ - model: endoreg_db.finding
41
+ fields:
42
+ name: "gastroscopy_antrum_mucosa"
43
+ name_de: "Antrum-Schleimhaut"
44
+ name_en: "Antrum Mucosa"
45
+ finding_types:
46
+ - baseline
47
+ finding_classifications: []
48
+ finding_interventions: []
49
+
50
+ - model: endoreg_db.finding
51
+ fields:
52
+ name: "gastroscopy_pylorus"
53
+ name_de: "Pylorus"
54
+ name_en: "Pylorus"
55
+ finding_types:
56
+ - baseline
57
+ finding_classifications: []
58
+ finding_interventions: []
59
+
60
+ - model: endoreg_db.finding
61
+ fields:
62
+ name: "gastroscopy_angulus_flexure_mucosa"
63
+ name_de: "Angulusfalte"
64
+ name_en: "Angulus Flexure"
65
+ finding_types:
66
+ - baseline
67
+ finding_classifications: []
68
+ finding_interventions: []
69
+
70
+ - model: endoreg_db.finding
71
+ fields:
72
+ name: "gastroscopy_duodenum_bulbus_mucosa"
73
+ name_de: "Duodenum-Bulbus"
74
+ name_en: "Duodenum Bulbus"
75
+ finding_types:
76
+ - baseline
77
+ finding_classifications: []
78
+ finding_interventions: []
79
+
80
+ - model: endoreg_db.finding
81
+ fields:
82
+ name: "gastroscopy_duodenum_mucosa"
83
+ name_de: "Duodenum-Schleimhaut"
84
+ name_en: "Duodenum Mucosa"
85
+ finding_types:
86
+ - baseline
87
+ finding_classifications: []
88
+ finding_interventions: []
@@ -0,0 +1,113 @@
1
+ - model: endoreg_db.finding
2
+ fields:
3
+ name: "gastroscopy_polyp"
4
+ description: "Polyp"
5
+ finding_types:
6
+ - observation
7
+ #TODO add finding_classifications and finding_interventions
8
+
9
+ - model: endoreg_db.finding
10
+ fields:
11
+ name: "gastroscopy_ulcer"
12
+ description: "Ulcer"
13
+ finding_types:
14
+ - observation
15
+
16
+ - model: endoreg_db.finding
17
+ fields:
18
+ name: "gastroscopy_erythema"
19
+ description: "Erythema"
20
+ finding_types:
21
+ - observation
22
+
23
+ - model: endoreg_db.finding
24
+ fields:
25
+ name: "gastroscopy_subepithelial_tumor"
26
+ description: "Subepithelial Tumor"
27
+ finding_types:
28
+ - observation
29
+
30
+ - model: endoreg_db.finding
31
+ fields:
32
+ name: "gastroscopy_stenosis"
33
+ description: "Stenosis"
34
+ finding_types:
35
+ - observation
36
+
37
+ - model: endoreg_db.finding
38
+ fields:
39
+ name: "gastroscopy_varices_esophageal"
40
+ description: "Esophageal Varices"
41
+ finding_types:
42
+ - observation
43
+ - persisting
44
+
45
+ - model: endoreg_db.finding
46
+ fields:
47
+ name: "gastroscopy_varices_gastric"
48
+ description: "Gastric Varices"
49
+ finding_types:
50
+ - observation
51
+
52
+ - model: endoreg_db.finding
53
+ fields:
54
+ name: "gastroscopy_varices_duodenal"
55
+ description: "Duodenal Varices"
56
+ finding_types:
57
+ - observation
58
+
59
+ - model: endoreg_db.finding
60
+ fields:
61
+ name: "gastroscopy_scar"
62
+ description: "Scar"
63
+ finding_types:
64
+ - observation
65
+
66
+ - model: endoreg_db.finding
67
+ fields:
68
+ name: "gastroscopy_bleeding"
69
+ description: "Bleeding"
70
+ finding_types:
71
+ - observation
72
+
73
+ - model: endoreg_db.finding
74
+ fields:
75
+ name: "gastroscopy_stenosis"
76
+ description: "Stenosis"
77
+ finding_types:
78
+ - observation
79
+
80
+ - model: endoreg_db.finding
81
+ fields:
82
+ name: "gastroscopy_ectopic_gastric_mucosa"
83
+ description: "Ectopic Gastric Mucosa"
84
+ finding_types:
85
+ - observation
86
+
87
+ - model: endoreg_db.finding
88
+ fields:
89
+ name: "gastroscopy_diverticulum_esophagus"
90
+ description: "Divertikel (Ösophagus)"
91
+ finding_types:
92
+ - observation
93
+
94
+ - model: endoreg_db.finding
95
+ fields:
96
+ name: "gastroscopy_diverticulum_duodenum"
97
+ description: "Divertikel (Duodenum)"
98
+ finding_types:
99
+ - observation
100
+
101
+ - model: endoreg_db.finding
102
+ fields:
103
+ name: "gastroscopy_ectopic_pancreatic_tissue"
104
+ description: "Ectopic Pancreatic Tissue"
105
+ finding_types:
106
+ - observation
107
+
108
+ - model: endoreg_db.finding
109
+ fields:
110
+ name: "gastroscopy_obstruction_generic"
111
+ description: "Generic Obstruction"
112
+ finding_types:
113
+ - observation
@@ -0,0 +1,53 @@
1
+ - model: endoreg_db.finding
2
+ fields:
3
+ name: "bowel_preparation_lc"
4
+ name_de: "Darmvorbereitung (Linkes Kolon)"
5
+ name_en: "Bowel Preparation (Left Colon)"
6
+ finding_types:
7
+ - baseline
8
+ finding_classifications:
9
+ - bowel_prep_boston
10
+ - bowel_prep_aronchick
11
+
12
+ - model: endoreg_db.finding
13
+ fields:
14
+ name: "bowel_preparation_tc"
15
+ name_de: "Darmvorbereitung (Kolon Transversum)"
16
+ name_en: "Bowel Preparation (Transverse Colon)"
17
+ finding_types:
18
+ - baseline
19
+ finding_classifications:
20
+ - bowel_prep_boston
21
+ - bowel_prep_aronchick
22
+
23
+ - model: endoreg_db.finding
24
+ fields:
25
+ name: "bowel_preparation_rc"
26
+ name_de: "Darmvorbereitung (Rechtes Kolon)"
27
+ name_en: "Bowel Preparation (Right Colon)"
28
+ finding_types:
29
+ - baseline
30
+ finding_classifications:
31
+ - bowel_prep_boston
32
+ - bowel_prep_aronchick
33
+
34
+ - model: endoreg_db.finding
35
+ fields:
36
+ name: "bowel_preparation_simplified"
37
+ name_de: "Darmvorbereitung (Vereinfacht)"
38
+ name_en: "Bowel Preparation (Simplified)"
39
+ finding_types:
40
+ - baseline
41
+ finding_classifications:
42
+ - bowel_prep_boston_simplified
43
+
44
+ - model: endoreg_db.finding
45
+ fields:
46
+ name: "colonoscopy_deepest_viewed_location"
47
+ name_de: "Tiefste betrachtete Stelle während einer Koloskopie"
48
+ name_en: "Deepest viewed location during colonoscopy"
49
+ finding_types:
50
+ - baseline
51
+ finding_classifications:
52
+ - colonoscopy_location_default
53
+ - colonoscopy_not_complete_reason #TODO Requirement should make sure, that a patientfindingclassification with reason is available if location is not cecum / appendix / terminal ileum
@@ -0,0 +1,119 @@
1
+ - model: endoreg_db.finding
2
+ fields:
3
+ name: "cecum"
4
+ description: "Anatomical structure: Cecum"
5
+ finding_types:
6
+ - anatomy
7
+ - hidden
8
+ finding_classifications:
9
+ - visualized
10
+
11
+ - model: endoreg_db.finding
12
+ fields:
13
+ name: "terminal_ileum"
14
+ description: "Anatomical structure: Terminal ileum"
15
+ finding_types:
16
+ - anatomy
17
+ - hidden
18
+ finding_classifications:
19
+ - visualized
20
+
21
+ - model: endoreg_db.finding
22
+ fields:
23
+ name: "appendiceal_orifice"
24
+ description: "Anatomical structure: Appendiceal orifice"
25
+ finding_types:
26
+ - anatomy
27
+ - hidden
28
+ finding_classifications:
29
+ - visualized
30
+
31
+ - model: endoreg_db.finding
32
+ fields:
33
+ name: "ileocecal_valve"
34
+ description: "Anatomical structure: Ileocecal valve"
35
+ finding_types:
36
+ - anatomy
37
+ - hidden
38
+ finding_classifications:
39
+ - visualized
40
+
41
+ - model: endoreg_db.finding
42
+ fields:
43
+ name: "ascending_colon"
44
+ description: "Anatomical structure: Ascending colon"
45
+ finding_types:
46
+ - anatomy
47
+ - hidden
48
+ finding_classifications:
49
+ - visualized
50
+
51
+ - model: endoreg_db.finding
52
+ fields:
53
+ name: "right_flexure"
54
+ description: "Anatomical structure: Right flexure"
55
+ finding_types:
56
+ - anatomy
57
+ - hidden
58
+ finding_classifications:
59
+ - visualized
60
+
61
+ - model: endoreg_db.finding
62
+ fields:
63
+ name: "transverse_colon"
64
+ description: "Anatomical structure: Transverse colon"
65
+ finding_types:
66
+ - anatomy
67
+ - hidden
68
+ finding_classifications:
69
+ - visualized
70
+
71
+ - model: endoreg_db.finding
72
+ fields:
73
+ name: "left_flexure"
74
+ description: "Anatomical structure: Left flexure"
75
+ finding_types:
76
+ - anatomy
77
+ - hidden
78
+ finding_classifications:
79
+ - visualized
80
+
81
+ - model: endoreg_db.finding
82
+ fields:
83
+ name: "descending_colon"
84
+ description: "Anatomical structure: Descending colon"
85
+ finding_types:
86
+ - anatomy
87
+ - hidden
88
+ finding_classifications:
89
+ - visualized
90
+
91
+ - model: endoreg_db.finding
92
+ fields:
93
+ name: "sigmoid_colon"
94
+ description: "Anatomical structure: Sigmoid colon"
95
+ finding_types:
96
+ - anatomy
97
+ - hidden
98
+ finding_classifications:
99
+ - visualized
100
+
101
+ - model: endoreg_db.finding
102
+ fields:
103
+ name: "rectum"
104
+ description: "Anatomical structure: Rectum"
105
+ finding_types:
106
+ - anatomy
107
+ - hidden
108
+ finding_classifications:
109
+ - visualized
110
+
111
+ - model: endoreg_db.finding
112
+ fields:
113
+ name: "rectum_anus"
114
+ description: "Anatomical structure: Rectum and anus"
115
+ finding_types:
116
+ - anatomy
117
+ - hidden
118
+ finding_classifications:
119
+ - visualized
@@ -0,0 +1,152 @@
1
+ - model: endoreg_db.finding
2
+ fields:
3
+ name: "colon_polyp"
4
+ name_de: "Kolonpolyp"
5
+ name_en: "Colon Polyp"
6
+ finding_types:
7
+ - observation
8
+ finding_interventions:
9
+ - endoscopy_biopsy_grasper_generic
10
+ - endoscopy_cold_snare_resection_generic
11
+ - endoscopy_diathermic_snare_resection_generic
12
+ - endoscopy_biopsy_foreceps_resection_generic
13
+ - endoscopy_emr_generic
14
+ - endoscopy_esd_generic
15
+ - endoscopy_eftr_generic
16
+ - endoscopy_injection_liftup
17
+ - endoscopy_hemoclip_generic
18
+ - endoscopy_over_the_scope_clip_generic
19
+ finding_classifications:
20
+ # Shared Models
21
+ ## size classifications
22
+ - lesion_size_mm
23
+ ## Morphology classifications
24
+ - lesion_circularity_default
25
+ - lesion_planarity_default
26
+ - lesion_surface_intact_default
27
+ ## Location
28
+ - colonoscopy_location_default
29
+ - colonoscopy_location_coarse
30
+ ## histology
31
+ - histology_dysplasia_default
32
+ - histology_dignity_default
33
+ - histology_in_sano_default
34
+
35
+ # More specific Models
36
+ ## size classifications
37
+ - colon_lesion_size_categorical
38
+ ## Morphology classifications
39
+ - colon_lesion_paris
40
+ - colon_lesion_nice
41
+ - colon_lesion_jnet
42
+ - colon_lesion_kudo
43
+ - colon_lesion_lst
44
+ ## histology
45
+ - colonoscopy_polyp_histology
46
+
47
+ - model: endoreg_db.finding
48
+ fields:
49
+ name: "colon_diverticule"
50
+ name_de: "Kolondivertikel"
51
+ name_en: "Colon Diverticule"
52
+ finding_interventions:
53
+ - endoscopy_hemoclip_generic
54
+ - endoscopy_biopsy_grasper_generic
55
+ - endoscopy_injection_vasoactive
56
+ finding_types:
57
+ - observation
58
+ finding_classifications:
59
+ - colonoscopy_location_coarse
60
+ - colonoscopy_location_default
61
+ # - diverticule_inflammation_grade #TODO
62
+ # - diverticule_stenosis_degree_categorical #TODO
63
+
64
+ - model: endoreg_db.finding
65
+ fields:
66
+ name: "anal_hemorrhoids"
67
+ name_de: "Hämorrhoiden"
68
+ name_en: "hemorrhoids"
69
+ finding_interventions: [] #TODO
70
+ finding_types:
71
+ - observation
72
+ finding_classifications:
73
+ - hemorrhoids_grade
74
+
75
+ - model: endoreg_db.finding
76
+ fields:
77
+ name: "anal_fissure"
78
+ name_de: "Analfissur"
79
+ name_en: "Anal Fissure"
80
+ finding_interventions: [] #TODO
81
+ finding_types:
82
+ - observation
83
+ finding_classifications: [] #TODO
84
+
85
+ - model: endoreg_db.finding
86
+ fields:
87
+ name: "colon_stenosis"
88
+ name_de: "Kolonstenose"
89
+ name_en: "Colon Stenosis"
90
+ finding_interventions:
91
+ - endoscopy_dilation_balloon #TODO
92
+ - endoscopy_stent_generic #TODO
93
+ finding_types:
94
+ - observation
95
+ finding_classifications:
96
+ # - colon_lesion_stenosis_degree_categorical #TODO
97
+ - colonoscopy_location_coarse
98
+ - colonoscopy_location_default
99
+ - lesion_circularity_default
100
+
101
+ - model: endoreg_db.finding
102
+ fields:
103
+ name: "colon_post_intervention_wound"
104
+ name_de: "Postinterventionelle Wunde"
105
+ finding_interventions: ["endoscopy_hemoclip_generic"] #TODO
106
+ finding_types:
107
+ - observation
108
+
109
+ - model: endoreg_db.finding
110
+ fields:
111
+ name: "colon_tumor_mass"
112
+ name_de: "Tumor"
113
+ name_en: "Tumor"
114
+ finding_interventions: []
115
+ finding_types:
116
+ - observation
117
+
118
+ - model: endoreg_db.finding
119
+ fields:
120
+ name: "colon_inflammation"
121
+ name_de: "Entzündung"
122
+ name_en: "Inflammation"
123
+ finding_interventions: []
124
+ finding_types:
125
+ - observation
126
+
127
+ - model: endoreg_db.finding
128
+ fields:
129
+ name: "colon_erosion"
130
+ name_de: "Erosion"
131
+ name_en: "Erosion"
132
+ finding_interventions: []
133
+ finding_types:
134
+ - observation
135
+
136
+ - model: endoreg_db.finding
137
+ fields:
138
+ name: "colon_ulcer"
139
+ name_de: "Ulcus"
140
+ name_en: "Ulcer"
141
+ finding_interventions: []
142
+ finding_types:
143
+ - observation
144
+
145
+ - model: endoreg_db.finding
146
+ fields:
147
+ name: "colon_scar"
148
+ name_de: "Narbe"
149
+ name_en: "Scar"
150
+ finding_interventions: []
151
+ finding_types:
152
+ - observation