endoreg-db 0.8.4.4__py3-none-any.whl → 0.8.8.0__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 (372) 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 +8 -31
  10. endoreg_db/data/_examples/disease.yaml +55 -0
  11. endoreg_db/data/_examples/disease_classification.yaml +13 -0
  12. endoreg_db/data/_examples/disease_classification_choice.yaml +62 -0
  13. endoreg_db/data/_examples/event.yaml +64 -0
  14. endoreg_db/data/_examples/examination.yaml +72 -0
  15. endoreg_db/data/_examples/finding/anatomy_colon.yaml +128 -0
  16. endoreg_db/data/_examples/finding/colonoscopy.yaml +40 -0
  17. endoreg_db/data/_examples/finding/colonoscopy_bowel_prep.yaml +56 -0
  18. endoreg_db/data/_examples/finding/complication.yaml +16 -0
  19. endoreg_db/data/_examples/finding/data.yaml +105 -0
  20. endoreg_db/data/_examples/finding/examination_setting.yaml +16 -0
  21. endoreg_db/data/_examples/finding/medication_related.yaml +18 -0
  22. endoreg_db/data/_examples/finding/outcome.yaml +12 -0
  23. endoreg_db/data/_examples/finding_classification/colonoscopy_bowel_preparation.yaml +68 -0
  24. endoreg_db/data/_examples/finding_classification/colonoscopy_jnet.yaml +22 -0
  25. endoreg_db/data/_examples/finding_classification/colonoscopy_kudo.yaml +25 -0
  26. endoreg_db/data/_examples/finding_classification/colonoscopy_lesion_circularity.yaml +20 -0
  27. endoreg_db/data/_examples/finding_classification/colonoscopy_lesion_planarity.yaml +24 -0
  28. endoreg_db/data/_examples/finding_classification/colonoscopy_lesion_size.yaml +68 -0
  29. endoreg_db/data/_examples/finding_classification/colonoscopy_lesion_surface.yaml +20 -0
  30. endoreg_db/data/_examples/finding_classification/colonoscopy_location.yaml +80 -0
  31. endoreg_db/data/_examples/finding_classification/colonoscopy_lst.yaml +21 -0
  32. endoreg_db/data/_examples/finding_classification/colonoscopy_nice.yaml +20 -0
  33. endoreg_db/data/_examples/finding_classification/colonoscopy_paris.yaml +26 -0
  34. endoreg_db/data/_examples/finding_classification/colonoscopy_sano.yaml +22 -0
  35. endoreg_db/data/_examples/finding_classification/colonoscopy_summary.yaml +53 -0
  36. endoreg_db/data/_examples/finding_classification/complication_generic.yaml +25 -0
  37. endoreg_db/data/_examples/finding_classification/examination_setting_generic.yaml +40 -0
  38. endoreg_db/data/_examples/finding_classification/histology_colo.yaml +51 -0
  39. endoreg_db/data/_examples/finding_classification/intervention_required.yaml +26 -0
  40. endoreg_db/data/_examples/finding_classification/medication_related.yaml +23 -0
  41. endoreg_db/data/_examples/finding_classification/visualized.yaml +33 -0
  42. endoreg_db/data/_examples/finding_classification_choice/bowel_preparation.yaml +78 -0
  43. endoreg_db/data/_examples/finding_classification_choice/colon_lesion_circularity_default.yaml +32 -0
  44. endoreg_db/data/_examples/finding_classification_choice/colon_lesion_jnet.yaml +15 -0
  45. endoreg_db/data/_examples/finding_classification_choice/colon_lesion_kudo.yaml +23 -0
  46. endoreg_db/data/_examples/finding_classification_choice/colon_lesion_lst.yaml +15 -0
  47. endoreg_db/data/_examples/finding_classification_choice/colon_lesion_nice.yaml +17 -0
  48. endoreg_db/data/_examples/finding_classification_choice/colon_lesion_paris.yaml +57 -0
  49. endoreg_db/data/_examples/finding_classification_choice/colon_lesion_planarity_default.yaml +49 -0
  50. endoreg_db/data/_examples/finding_classification_choice/colon_lesion_sano.yaml +14 -0
  51. endoreg_db/data/_examples/finding_classification_choice/colon_lesion_surface_intact_default.yaml +36 -0
  52. endoreg_db/data/_examples/finding_classification_choice/colonoscopy_location.yaml +229 -0
  53. endoreg_db/data/_examples/finding_classification_choice/colonoscopy_not_complete_reason.yaml +19 -0
  54. endoreg_db/data/_examples/finding_classification_choice/colonoscopy_size.yaml +82 -0
  55. endoreg_db/data/_examples/finding_classification_choice/colonoscopy_summary_worst_finding.yaml +15 -0
  56. endoreg_db/data/_examples/finding_classification_choice/complication_generic_types.yaml +15 -0
  57. endoreg_db/data/_examples/finding_classification_choice/examination_setting_generic_types.yaml +15 -0
  58. endoreg_db/data/_examples/finding_classification_choice/histology.yaml +24 -0
  59. endoreg_db/data/_examples/finding_classification_choice/histology_polyp.yaml +20 -0
  60. endoreg_db/data/_examples/finding_classification_choice/outcome.yaml +19 -0
  61. endoreg_db/data/_examples/finding_classification_choice/yes_no_na.yaml +11 -0
  62. endoreg_db/data/_examples/finding_classification_type/colonoscopy_basic.yaml +48 -0
  63. endoreg_db/data/_examples/finding_intervention/endoscopy.yaml +43 -0
  64. endoreg_db/data/_examples/finding_intervention/endoscopy_colonoscopy.yaml +168 -0
  65. endoreg_db/data/_examples/finding_intervention/endoscopy_egd.yaml +128 -0
  66. endoreg_db/data/_examples/finding_intervention/endoscopy_ercp.yaml +32 -0
  67. endoreg_db/data/_examples/finding_intervention/endoscopy_eus_lower.yaml +9 -0
  68. endoreg_db/data/_examples/finding_intervention/endoscopy_eus_upper.yaml +36 -0
  69. endoreg_db/data/_examples/finding_intervention_type/endoscopy.yaml +15 -0
  70. endoreg_db/data/_examples/finding_type/data.yaml +43 -0
  71. endoreg_db/data/_examples/requirement/age.yaml +26 -0
  72. endoreg_db/data/_examples/requirement/colonoscopy_baseline_austria.yaml +45 -0
  73. endoreg_db/data/_examples/requirement/disease_cardiovascular.yaml +79 -0
  74. endoreg_db/data/_examples/requirement/disease_classification_choice_cardiovascular.yaml +41 -0
  75. endoreg_db/data/_examples/requirement/disease_hepatology.yaml +12 -0
  76. endoreg_db/data/_examples/requirement/disease_misc.yaml +12 -0
  77. endoreg_db/data/_examples/requirement/disease_renal.yaml +96 -0
  78. endoreg_db/data/_examples/requirement/endoscopy_bleeding_risk.yaml +59 -0
  79. endoreg_db/data/_examples/requirement/event_cardiology.yaml +251 -0
  80. endoreg_db/data/_examples/requirement/event_requirements.yaml +145 -0
  81. endoreg_db/data/_examples/requirement/finding_colon_polyp.yaml +50 -0
  82. endoreg_db/data/_examples/requirement/gender.yaml +25 -0
  83. endoreg_db/data/_examples/requirement/lab_value.yaml +441 -0
  84. endoreg_db/data/_examples/requirement/medication.yaml +93 -0
  85. endoreg_db/data/_examples/requirement_operator/age.yaml +13 -0
  86. endoreg_db/data/_examples/requirement_operator/lab_operators.yaml +129 -0
  87. endoreg_db/data/_examples/requirement_operator/model_operators.yaml +96 -0
  88. endoreg_db/data/_examples/requirement_set/01_endoscopy_generic.yaml +48 -0
  89. endoreg_db/data/_examples/requirement_set/colonoscopy_austria_screening.yaml +57 -0
  90. endoreg_db/data/_examples/yaml_examples.xlsx +0 -0
  91. endoreg_db/data/ai_model_meta/default_multilabel_classification.yaml +4 -3
  92. endoreg_db/data/event_classification/data.yaml +4 -0
  93. endoreg_db/data/event_classification_choice/data.yaml +9 -0
  94. endoreg_db/data/finding_classification/colonoscopy_bowel_preparation.yaml +43 -70
  95. endoreg_db/data/finding_classification/colonoscopy_lesion_size.yaml +22 -52
  96. endoreg_db/data/finding_classification/colonoscopy_location.yaml +31 -62
  97. endoreg_db/data/finding_classification/histology_colo.yaml +28 -36
  98. endoreg_db/data/requirement/colon_polyp_intervention.yaml +49 -0
  99. endoreg_db/data/requirement/coloreg_colon_polyp.yaml +49 -0
  100. endoreg_db/data/requirement_set/01_endoscopy_generic.yaml +31 -12
  101. endoreg_db/data/requirement_set/01_laboratory.yaml +13 -0
  102. endoreg_db/data/requirement_set/02_endoscopy_bleeding_risk.yaml +46 -0
  103. endoreg_db/data/requirement_set/90_coloreg.yaml +178 -0
  104. endoreg_db/data/requirement_set/_old_ +109 -0
  105. endoreg_db/data/requirement_set_type/data.yaml +21 -0
  106. endoreg_db/data/setup_config.yaml +4 -4
  107. endoreg_db/data/tag/requirement_set_tags.yaml +21 -0
  108. endoreg_db/exceptions.py +5 -2
  109. endoreg_db/helpers/data_loader.py +1 -1
  110. endoreg_db/management/commands/create_model_meta_from_huggingface.py +21 -10
  111. endoreg_db/management/commands/create_multilabel_model_meta.py +299 -129
  112. endoreg_db/management/commands/import_video.py +9 -10
  113. endoreg_db/management/commands/import_video_with_classification.py +1 -1
  114. endoreg_db/management/commands/init_default_ai_model.py +1 -1
  115. endoreg_db/management/commands/list_routes.py +18 -0
  116. endoreg_db/management/commands/load_ai_model_data.py +2 -1
  117. endoreg_db/management/commands/load_center_data.py +12 -12
  118. endoreg_db/management/commands/load_requirement_data.py +60 -31
  119. endoreg_db/management/commands/load_requirement_set_tags.py +95 -0
  120. endoreg_db/management/commands/setup_endoreg_db.py +14 -10
  121. endoreg_db/management/commands/storage_management.py +271 -203
  122. endoreg_db/migrations/0001_initial.py +1799 -1300
  123. endoreg_db/migrations/0002_requirementset_depends_on.py +18 -0
  124. endoreg_db/migrations/_old/0001_initial.py +1857 -0
  125. endoreg_db/migrations/_old/0004_employee_city_employee_post_code_employee_street_and_more.py +68 -0
  126. endoreg_db/migrations/_old/0004_remove_casetemplate_rules_and_more.py +77 -0
  127. endoreg_db/migrations/_old/0005_merge_20251111_1003.py +14 -0
  128. endoreg_db/migrations/_old/0006_sensitivemeta_anonymized_text_and_more.py +68 -0
  129. endoreg_db/migrations/_old/0007_remove_rule_attribute_dtype_remove_rule_rule_type_and_more.py +89 -0
  130. endoreg_db/migrations/_old/0008_remove_event_event_classification_and_more.py +27 -0
  131. endoreg_db/migrations/_old/0009_alter_modelmeta_options_and_more.py +21 -0
  132. endoreg_db/models/__init__.py +78 -123
  133. endoreg_db/models/administration/__init__.py +21 -42
  134. endoreg_db/models/administration/ai/active_model.py +2 -2
  135. endoreg_db/models/administration/ai/ai_model.py +7 -6
  136. endoreg_db/models/administration/case/__init__.py +1 -15
  137. endoreg_db/models/administration/case/case.py +3 -3
  138. endoreg_db/models/administration/case/case_template/__init__.py +2 -14
  139. endoreg_db/models/administration/case/case_template/case_template.py +2 -124
  140. endoreg_db/models/administration/case/case_template/case_template_rule.py +2 -268
  141. endoreg_db/models/administration/case/case_template/case_template_rule_value.py +2 -85
  142. endoreg_db/models/administration/case/case_template/case_template_type.py +2 -25
  143. endoreg_db/models/administration/center/center.py +33 -19
  144. endoreg_db/models/administration/center/center_product.py +12 -9
  145. endoreg_db/models/administration/center/center_resource.py +25 -19
  146. endoreg_db/models/administration/center/center_shift.py +21 -17
  147. endoreg_db/models/administration/center/center_waste.py +16 -8
  148. endoreg_db/models/administration/person/__init__.py +2 -0
  149. endoreg_db/models/administration/person/employee/employee.py +10 -5
  150. endoreg_db/models/administration/person/employee/employee_qualification.py +9 -4
  151. endoreg_db/models/administration/person/employee/employee_type.py +12 -6
  152. endoreg_db/models/administration/person/examiner/examiner.py +13 -11
  153. endoreg_db/models/administration/person/patient/__init__.py +2 -0
  154. endoreg_db/models/administration/person/patient/patient.py +103 -100
  155. endoreg_db/models/administration/person/patient/patient_external_id.py +37 -0
  156. endoreg_db/models/administration/person/person.py +4 -0
  157. endoreg_db/models/administration/person/profession/__init__.py +8 -4
  158. endoreg_db/models/administration/person/user/portal_user_information.py +11 -7
  159. endoreg_db/models/administration/product/product.py +20 -15
  160. endoreg_db/models/administration/product/product_material.py +17 -18
  161. endoreg_db/models/administration/product/product_weight.py +12 -8
  162. endoreg_db/models/administration/product/reference_product.py +23 -55
  163. endoreg_db/models/administration/qualification/qualification.py +7 -3
  164. endoreg_db/models/administration/qualification/qualification_type.py +7 -3
  165. endoreg_db/models/administration/shift/scheduled_days.py +8 -5
  166. endoreg_db/models/administration/shift/shift.py +16 -12
  167. endoreg_db/models/administration/shift/shift_type.py +23 -31
  168. endoreg_db/models/label/__init__.py +7 -8
  169. endoreg_db/models/label/annotation/image_classification.py +10 -9
  170. endoreg_db/models/label/annotation/video_segmentation_annotation.py +8 -5
  171. endoreg_db/models/label/label.py +15 -15
  172. endoreg_db/models/label/label_set.py +19 -6
  173. endoreg_db/models/label/label_type.py +1 -1
  174. endoreg_db/models/label/label_video_segment/_create_from_video.py +5 -8
  175. endoreg_db/models/label/label_video_segment/label_video_segment.py +76 -102
  176. endoreg_db/models/label/video_segmentation_label.py +4 -0
  177. endoreg_db/models/label/video_segmentation_labelset.py +4 -3
  178. endoreg_db/models/media/frame/frame.py +22 -22
  179. endoreg_db/models/media/pdf/raw_pdf.py +249 -177
  180. endoreg_db/models/media/pdf/report_file.py +25 -29
  181. endoreg_db/models/media/pdf/report_reader/report_reader_config.py +30 -46
  182. endoreg_db/models/media/pdf/report_reader/report_reader_flag.py +23 -7
  183. endoreg_db/models/media/video/__init__.py +1 -0
  184. endoreg_db/models/media/video/create_from_file.py +48 -56
  185. endoreg_db/models/media/video/pipe_1.py +30 -33
  186. endoreg_db/models/media/video/pipe_2.py +8 -9
  187. endoreg_db/models/media/video/video_file.py +359 -204
  188. endoreg_db/models/media/video/video_file_ai.py +288 -74
  189. endoreg_db/models/media/video/video_file_anonymize.py +38 -38
  190. endoreg_db/models/media/video/video_file_frames/__init__.py +3 -1
  191. endoreg_db/models/media/video/video_file_frames/_bulk_create_frames.py +6 -8
  192. endoreg_db/models/media/video/video_file_frames/_create_frame_object.py +7 -9
  193. endoreg_db/models/media/video/video_file_frames/_delete_frames.py +9 -8
  194. endoreg_db/models/media/video/video_file_frames/_extract_frames.py +38 -45
  195. endoreg_db/models/media/video/video_file_frames/_get_frame.py +6 -8
  196. endoreg_db/models/media/video/video_file_frames/_get_frame_number.py +4 -18
  197. endoreg_db/models/media/video/video_file_frames/_get_frame_path.py +4 -3
  198. endoreg_db/models/media/video/video_file_frames/_get_frame_paths.py +7 -6
  199. endoreg_db/models/media/video/video_file_frames/_get_frame_range.py +6 -8
  200. endoreg_db/models/media/video/video_file_frames/_get_frames.py +6 -8
  201. endoreg_db/models/media/video/video_file_frames/_initialize_frames.py +15 -25
  202. endoreg_db/models/media/video/video_file_frames/_manage_frame_range.py +26 -23
  203. endoreg_db/models/media/video/video_file_frames/_mark_frames_extracted_status.py +23 -14
  204. endoreg_db/models/media/video/video_file_io.py +109 -62
  205. endoreg_db/models/media/video/video_file_meta/get_crop_template.py +3 -3
  206. endoreg_db/models/media/video/video_file_meta/get_endo_roi.py +5 -3
  207. endoreg_db/models/media/video/video_file_meta/get_fps.py +37 -34
  208. endoreg_db/models/media/video/video_file_meta/initialize_video_specs.py +19 -25
  209. endoreg_db/models/media/video/video_file_meta/text_meta.py +41 -38
  210. endoreg_db/models/media/video/video_file_meta/video_meta.py +14 -7
  211. endoreg_db/models/media/video/video_file_segments.py +24 -17
  212. endoreg_db/models/media/video/video_metadata.py +19 -35
  213. endoreg_db/models/media/video/video_processing.py +96 -95
  214. endoreg_db/models/medical/contraindication/__init__.py +13 -3
  215. endoreg_db/models/medical/disease.py +22 -16
  216. endoreg_db/models/medical/event.py +31 -18
  217. endoreg_db/models/medical/examination/__init__.py +13 -6
  218. endoreg_db/models/medical/examination/examination.py +17 -18
  219. endoreg_db/models/medical/examination/examination_indication.py +26 -25
  220. endoreg_db/models/medical/examination/examination_time.py +16 -6
  221. endoreg_db/models/medical/examination/examination_time_type.py +9 -6
  222. endoreg_db/models/medical/examination/examination_type.py +3 -4
  223. endoreg_db/models/medical/finding/finding.py +38 -39
  224. endoreg_db/models/medical/finding/finding_classification.py +37 -48
  225. endoreg_db/models/medical/finding/finding_intervention.py +27 -22
  226. endoreg_db/models/medical/finding/finding_type.py +13 -12
  227. endoreg_db/models/medical/hardware/endoscope.py +20 -26
  228. endoreg_db/models/medical/hardware/endoscopy_processor.py +2 -2
  229. endoreg_db/models/medical/laboratory/lab_value.py +62 -91
  230. endoreg_db/models/medical/medication/medication.py +22 -10
  231. endoreg_db/models/medical/medication/medication_indication.py +29 -3
  232. endoreg_db/models/medical/medication/medication_indication_type.py +25 -14
  233. endoreg_db/models/medical/medication/medication_intake_time.py +31 -19
  234. endoreg_db/models/medical/medication/medication_schedule.py +27 -16
  235. endoreg_db/models/medical/organ/__init__.py +15 -12
  236. endoreg_db/models/medical/patient/medication_examples.py +1 -5
  237. endoreg_db/models/medical/patient/patient_disease.py +20 -23
  238. endoreg_db/models/medical/patient/patient_event.py +19 -22
  239. endoreg_db/models/medical/patient/patient_examination.py +48 -54
  240. endoreg_db/models/medical/patient/patient_examination_indication.py +16 -14
  241. endoreg_db/models/medical/patient/patient_finding.py +122 -139
  242. endoreg_db/models/medical/patient/patient_finding_classification.py +44 -49
  243. endoreg_db/models/medical/patient/patient_finding_intervention.py +8 -19
  244. endoreg_db/models/medical/patient/patient_lab_sample.py +28 -23
  245. endoreg_db/models/medical/patient/patient_lab_value.py +82 -89
  246. endoreg_db/models/medical/patient/patient_medication.py +27 -38
  247. endoreg_db/models/medical/patient/patient_medication_schedule.py +28 -36
  248. endoreg_db/models/medical/risk/risk.py +7 -6
  249. endoreg_db/models/medical/risk/risk_type.py +8 -5
  250. endoreg_db/models/metadata/model_meta.py +60 -29
  251. endoreg_db/models/metadata/model_meta_logic.py +139 -18
  252. endoreg_db/models/metadata/pdf_meta.py +19 -24
  253. endoreg_db/models/metadata/sensitive_meta.py +102 -85
  254. endoreg_db/models/metadata/sensitive_meta_logic.py +383 -43
  255. endoreg_db/models/metadata/video_meta.py +51 -31
  256. endoreg_db/models/metadata/video_prediction_logic.py +16 -23
  257. endoreg_db/models/metadata/video_prediction_meta.py +29 -33
  258. endoreg_db/models/other/distribution/date_value_distribution.py +89 -29
  259. endoreg_db/models/other/distribution/multiple_categorical_value_distribution.py +21 -5
  260. endoreg_db/models/other/distribution/numeric_value_distribution.py +114 -53
  261. endoreg_db/models/other/distribution/single_categorical_value_distribution.py +4 -3
  262. endoreg_db/models/other/emission/emission_factor.py +18 -8
  263. endoreg_db/models/other/gender.py +10 -5
  264. endoreg_db/models/other/information_source.py +25 -25
  265. endoreg_db/models/other/material.py +9 -5
  266. endoreg_db/models/other/resource.py +6 -4
  267. endoreg_db/models/other/tag.py +10 -5
  268. endoreg_db/models/other/transport_route.py +13 -8
  269. endoreg_db/models/other/unit.py +10 -6
  270. endoreg_db/models/other/waste.py +6 -5
  271. endoreg_db/models/requirement/requirement.py +580 -272
  272. endoreg_db/models/requirement/requirement_error.py +85 -0
  273. endoreg_db/models/requirement/requirement_evaluation/evaluate_with_dependencies.py +268 -0
  274. endoreg_db/models/requirement/requirement_evaluation/operator_evaluation_models.py +3 -6
  275. endoreg_db/models/requirement/requirement_evaluation/requirement_type_parser.py +90 -64
  276. endoreg_db/models/requirement/requirement_operator.py +36 -33
  277. endoreg_db/models/requirement/requirement_set.py +74 -57
  278. endoreg_db/models/state/__init__.py +4 -4
  279. endoreg_db/models/state/abstract.py +2 -2
  280. endoreg_db/models/state/anonymization.py +12 -0
  281. endoreg_db/models/state/audit_ledger.py +46 -47
  282. endoreg_db/models/state/label_video_segment.py +9 -0
  283. endoreg_db/models/state/raw_pdf.py +40 -46
  284. endoreg_db/models/state/sensitive_meta.py +6 -2
  285. endoreg_db/models/state/video.py +58 -53
  286. endoreg_db/models/upload_job.py +32 -55
  287. endoreg_db/models/utils.py +1 -2
  288. endoreg_db/root_urls.py +21 -2
  289. endoreg_db/serializers/__init__.py +26 -57
  290. endoreg_db/serializers/anonymization.py +18 -10
  291. endoreg_db/serializers/meta/report_meta.py +1 -1
  292. endoreg_db/serializers/meta/sensitive_meta_detail.py +63 -118
  293. endoreg_db/serializers/misc/__init__.py +1 -1
  294. endoreg_db/serializers/misc/file_overview.py +33 -91
  295. endoreg_db/serializers/misc/{vop_patient_data.py → sensitive_patient_data.py} +1 -1
  296. endoreg_db/serializers/requirements/requirement_sets.py +92 -22
  297. endoreg_db/serializers/video/segmentation.py +2 -1
  298. endoreg_db/serializers/video/video_processing_history.py +20 -5
  299. endoreg_db/serializers/video_examination.py +198 -0
  300. endoreg_db/services/anonymization.py +75 -73
  301. endoreg_db/services/lookup_service.py +256 -73
  302. endoreg_db/services/lookup_store.py +174 -30
  303. endoreg_db/services/pdf_import.py +711 -310
  304. endoreg_db/services/storage_aware_video_processor.py +140 -114
  305. endoreg_db/services/video_import.py +266 -117
  306. endoreg_db/urls/__init__.py +27 -27
  307. endoreg_db/urls/label_video_segments.py +2 -0
  308. endoreg_db/urls/media.py +108 -66
  309. endoreg_db/urls/root_urls.py +29 -0
  310. endoreg_db/utils/__init__.py +15 -5
  311. endoreg_db/utils/ai/multilabel_classification_net.py +116 -20
  312. endoreg_db/utils/case_generator/__init__.py +3 -0
  313. endoreg_db/utils/dataloader.py +88 -16
  314. endoreg_db/utils/defaults/set_default_center.py +32 -0
  315. endoreg_db/utils/names.py +22 -16
  316. endoreg_db/utils/permissions.py +2 -1
  317. endoreg_db/utils/pipelines/process_video_dir.py +1 -1
  318. endoreg_db/utils/requirement_operator_logic/model_evaluators.py +414 -127
  319. endoreg_db/utils/setup_config.py +8 -5
  320. endoreg_db/utils/storage.py +115 -0
  321. endoreg_db/utils/validate_endo_roi.py +8 -2
  322. endoreg_db/utils/video/ffmpeg_wrapper.py +184 -188
  323. endoreg_db/views/__init__.py +5 -12
  324. endoreg_db/views/anonymization/media_management.py +198 -163
  325. endoreg_db/views/anonymization/overview.py +4 -1
  326. endoreg_db/views/anonymization/validate.py +174 -40
  327. endoreg_db/views/media/__init__.py +2 -0
  328. endoreg_db/views/media/pdf_media.py +131 -150
  329. endoreg_db/views/media/sensitive_metadata.py +46 -6
  330. endoreg_db/views/media/video_media.py +89 -82
  331. endoreg_db/views/media/video_segments.py +187 -260
  332. endoreg_db/views/meta/sensitive_meta_detail.py +0 -63
  333. endoreg_db/views/patient/patient.py +5 -4
  334. endoreg_db/views/pdf/__init__.py +5 -8
  335. endoreg_db/views/pdf/pdf_stream.py +186 -0
  336. endoreg_db/views/pdf/pdf_stream_views.py +0 -127
  337. endoreg_db/views/pdf/reimport.py +86 -91
  338. endoreg_db/views/requirement/evaluate.py +188 -187
  339. endoreg_db/views/requirement/lookup.py +186 -288
  340. endoreg_db/views/requirement/requirement_utils.py +89 -0
  341. endoreg_db/views/video/__init__.py +0 -4
  342. endoreg_db/views/video/correction.py +2 -2
  343. endoreg_db/views/video/video_examination_viewset.py +202 -289
  344. {endoreg_db-0.8.4.4.dist-info → endoreg_db-0.8.8.0.dist-info}/METADATA +7 -3
  345. {endoreg_db-0.8.4.4.dist-info → endoreg_db-0.8.8.0.dist-info}/RECORD +350 -255
  346. endoreg_db/models/administration/permissions/__init__.py +0 -44
  347. endoreg_db/models/media/video/refactor_plan.md +0 -0
  348. endoreg_db/models/media/video/video_file_frames.py +0 -0
  349. endoreg_db/models/metadata/frame_ocr_result.py +0 -0
  350. endoreg_db/models/rule/__init__.py +0 -13
  351. endoreg_db/models/rule/rule.py +0 -27
  352. endoreg_db/models/rule/rule_applicator.py +0 -224
  353. endoreg_db/models/rule/rule_attribute_dtype.py +0 -17
  354. endoreg_db/models/rule/rule_type.py +0 -20
  355. endoreg_db/models/rule/ruleset.py +0 -17
  356. endoreg_db/serializers/video/video_metadata.py +0 -105
  357. endoreg_db/urls/report.py +0 -48
  358. endoreg_db/urls/video.py +0 -61
  359. endoreg_db/utils/case_generator/case_generator.py +0 -159
  360. endoreg_db/utils/case_generator/utils.py +0 -30
  361. endoreg_db/views/pdf/pdf_media.py +0 -239
  362. endoreg_db/views/report/__init__.py +0 -9
  363. endoreg_db/views/report/report_list.py +0 -112
  364. endoreg_db/views/report/report_with_secure_url.py +0 -28
  365. endoreg_db/views/report/start_examination.py +0 -7
  366. endoreg_db/views/video/video_media.py +0 -158
  367. endoreg_db/views.py +0 -0
  368. /endoreg_db/data/{requirement_set → _examples/requirement_set}/endoscopy_bleeding_risk.yaml +0 -0
  369. /endoreg_db/migrations/{0002_add_video_correction_models.py → _old/0002_add_video_correction_models.py} +0 -0
  370. /endoreg_db/migrations/{0003_add_center_display_name.py → _old/0003_add_center_display_name.py} +0 -0
  371. {endoreg_db-0.8.4.4.dist-info → endoreg_db-0.8.8.0.dist-info}/WHEEL +0 -0
  372. {endoreg_db-0.8.4.4.dist-info → endoreg_db-0.8.8.0.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,105 @@
1
+ - model: endoreg_db.finding
2
+ fields:
3
+ name: "placeholder"
4
+ name_de: "Platzhalter"
5
+ name_en: "Placeholder"
6
+ description: "This is a placeholder finding."
7
+
8
+ - model: endoreg_db.finding
9
+ fields:
10
+ name: "post-intervention-wound"
11
+ name_de: "Postinterventionelle Wunde"
12
+ finding_interventions: ["colon_lesion_clip"]
13
+ examinations: [
14
+ "colonoscopy"
15
+ ]
16
+
17
+ finding_types: ["macroscopic"]
18
+
19
+ - model: endoreg_db.finding
20
+ fields:
21
+ name: "tumor"
22
+ name_de: "Tumor"
23
+ name_en: "Tumor"
24
+ finding_interventions: []
25
+ examinations:
26
+ [
27
+ "colonoscopy",
28
+ "endosonography_upper_gi",
29
+ "endosonography_lower_gi",
30
+ "ercp",
31
+ "small_bowel_endoscopy",
32
+ "capsule_endoscopy",
33
+ ]
34
+
35
+ finding_types: ["macroscopic"]
36
+
37
+ - model: endoreg_db.finding
38
+ fields:
39
+ name: "inflammation"
40
+ name_de: "Entzündung"
41
+ name_en: "Inflammation"
42
+ finding_interventions: []
43
+ examinations:
44
+ [
45
+ "colonoscopy",
46
+ "endosonography_upper_gi",
47
+ "endosonography_lower_gi",
48
+ "ercp",
49
+ "small_bowel_endoscopy",
50
+ "capsule_endoscopy",
51
+ ]
52
+ finding_types: ["macroscopic"]
53
+
54
+ - model: endoreg_db.finding
55
+ fields:
56
+ name: "erosion"
57
+ name_de: "Erosion"
58
+ name_en: "Erosion"
59
+ finding_interventions: []
60
+ examinations:
61
+ [
62
+ "colonoscopy",
63
+ "endosonography_upper_gi",
64
+ "endosonography_lower_gi",
65
+ "ercp",
66
+ "small_bowel_endoscopy",
67
+ "capsule_endoscopy",
68
+ ]
69
+
70
+ finding_types: ["macroscopic"]
71
+
72
+ - model: endoreg_db.finding
73
+ fields:
74
+ name: "ulcer"
75
+ name_de: "Ulcus"
76
+ name_en: "Ulcer"
77
+ finding_interventions: []
78
+ examinations:
79
+ [
80
+ "colonoscopy",
81
+ "endosonography_upper_gi",
82
+ "endosonography_lower_gi",
83
+ "ercp",
84
+ "small_bowel_endoscopy",
85
+ "capsule_endoscopy",
86
+ ]
87
+ finding_types: ["macroscopic"]
88
+
89
+ - model: endoreg_db.finding
90
+ fields:
91
+ name: "scar"
92
+ name_de: "Narbe"
93
+ name_en: "Scar"
94
+ finding_interventions: []
95
+ examinations:
96
+ [
97
+ "colonoscopy",
98
+ "endosonography_upper_gi",
99
+ "endosonography_lower_gi",
100
+ "ercp",
101
+ "small_bowel_endoscopy",
102
+ "capsule_endoscopy",
103
+ ]
104
+
105
+ finding_types: ["macroscopic"]
@@ -0,0 +1,16 @@
1
+ - model: endoreg_db.finding
2
+ fields:
3
+ name: "examination_setting"
4
+ examinations: [
5
+ "gastroscopy",
6
+ "endosonography_upper_gi",
7
+ "endosonography_lower_gi",
8
+ "ercp",
9
+ "small_bowel_endoscopy",
10
+ "capsule_endoscopy",
11
+ "percutaneous_transhepatic_biliary_drainage",
12
+ "colonoscopy",
13
+ "colonoscopy_austria_screening",
14
+ ]
15
+
16
+ finding_types: ["summary"]
@@ -0,0 +1,18 @@
1
+ - model: endoreg_db.finding
2
+ fields:
3
+ name: "sedation"
4
+ description: "Sedation during an examination"
5
+ examinations:
6
+ [
7
+ "gastroscopy",
8
+ "endosonography_upper_gi",
9
+ "endosonography_lower_gi",
10
+ "ercp",
11
+ "small_bowel_endoscopy",
12
+ "capsule_endoscopy",
13
+ "percutaneous_transhepatic_biliary_drainage",
14
+ "colonoscopy",
15
+ "colonoscopy_austria_screening",
16
+ ]
17
+
18
+ finding_types: ["medication_related"]
@@ -0,0 +1,12 @@
1
+ - model: endoreg_db.finding
2
+ fields:
3
+ name: "colonoscopy_austria_screening_outcome"
4
+ description: "Outcome of colonoscopy Austria screening."
5
+ examinations:
6
+ [
7
+ "colonoscopy_austria_screening",
8
+ ]
9
+ finding_types:
10
+ [
11
+ "summary"
12
+ ]
@@ -0,0 +1,68 @@
1
+ - model: endoreg_db.finding_classification
2
+ fields:
3
+ name: "bowel_prep_boston"
4
+ classification_types: ["bowel_prep"]
5
+ name_de: "Boston Bowel Preparation Scale"
6
+ name_en: "Boston Bowel Preparation Scale"
7
+ examinations: ["colonoscopy"]
8
+ findings:
9
+ ["bowel_preparation_lc", "bowel_preparation_tc", "bowel_preparation_rc"]
10
+ choices:
11
+ [
12
+ "bowel_prep_boston_0",
13
+ "bowel_prep_boston_1",
14
+ "bowel_prep_boston_2",
15
+ "bowel_prep_boston_3",
16
+ ]
17
+
18
+ - model: endoreg_db.finding_classification
19
+ fields:
20
+ name: "bowel_prep_boston_simplified"
21
+ classification_types: ["bowel_prep"]
22
+ name_de: "Boston Bowel Preparation Scale"
23
+ name_en: "Boston Bowel Preparation Scale"
24
+ examinations: ["colonoscopy"]
25
+ findings: ["bowel_preparation_simplified"]
26
+ choices:
27
+ [
28
+ "bowel_prep_boston_0",
29
+ "bowel_prep_boston_1",
30
+ "bowel_prep_boston_2",
31
+ "bowel_prep_boston_3",
32
+ ]
33
+
34
+ #Aronchick
35
+ - model: endoreg_db.finding_classification
36
+ fields:
37
+ name: "bowel_prep_aronchick"
38
+ classification_types: ["bowel_prep"]
39
+ name_de: "Aronchick Bowel Preparation Scale"
40
+ name_en: "Aronchick Bowel Preparation Scale"
41
+ examinations: ["colonoscopy"]
42
+ findings:
43
+ ["bowel_preparation_lc", "bowel_preparation_tc", "bowel_preparation_rc"]
44
+ choices:
45
+ [
46
+ "bowel_prep_aronchick_0",
47
+ "bowel_prep_aronchick_1",
48
+ "bowel_prep_aronchick_2",
49
+ "bowel_prep_aronchick_3",
50
+ ]
51
+
52
+ # Screening Austria
53
+ - model: endoreg_db.finding_classification
54
+ fields:
55
+ name: "bowel_prep_screening_austria"
56
+ classification_types: ["bowel_prep"]
57
+ name_de: "Darmvorbereitung Screening Österreich"
58
+ name_en: "Bowel Preparation Screening Austria"
59
+ examinations: ["colonoscopy_austria_screening"]
60
+ findings: ["bowel_prep_screening_austria"]
61
+ choices:
62
+ [
63
+ "bowel_prep_perfect",
64
+ "bowel_prep_good",
65
+ "bowel_prep_fair",
66
+ "bowel_prep_poor",
67
+ "bowel_prep_poor_in_rc_only",
68
+ ]
@@ -0,0 +1,22 @@
1
+
2
+ - model: endoreg_db.finding_classification
3
+ fields:
4
+ name: "colon_lesion_jnet"
5
+ name_de: "Kolonläsion - JNET"
6
+ name_en: "Colon lesion - JNET"
7
+ classification_types: [
8
+ "morphology",
9
+ "colon_lesion_advanced_imaging",
10
+ ]
11
+ examinations: [
12
+ "colonoscopy"
13
+ ]
14
+ findings: [
15
+ "colon_polyp",
16
+ ]
17
+ choices: [
18
+ "colon_lesion_jnet_1",
19
+ "colon_lesion_jnet_2a",
20
+ "colon_lesion_jnet_2b",
21
+ "colon_lesion_jnet_3",
22
+ ]
@@ -0,0 +1,25 @@
1
+
2
+ - model: endoreg_db.finding_classification
3
+ fields:
4
+ name: "colon_lesion_kudo"
5
+ classification_types: [
6
+ "colon_lesion_advanced_imaging",
7
+ "morphology"
8
+ ]
9
+ name_de: "Oberflächenklassifikation Kolonläsion"
10
+ name_en: "Colon Lesion Surface Classification"
11
+ examinations: [
12
+ "colonoscopy"
13
+ ]
14
+ findings: [
15
+ "colon_polyp",
16
+ ]
17
+ choices: [
18
+ "colon_lesion_kudo_1",
19
+ "colon_lesion_kudo_2",
20
+ "colon_lesion_kudo_3s",
21
+ "colon_lesion_kudo_3l",
22
+ "colon_lesion_kudo_4",
23
+ "colon_lesion_kudo_5i",
24
+ "colon_lesion_kudo_5n",
25
+ ]
@@ -0,0 +1,20 @@
1
+
2
+ - model: endoreg_db.finding_classification
3
+ fields:
4
+ name: "colon_lesion_circularity_default"
5
+ name_de: "Kolonläsion - Zirkularität"
6
+ name_en: "Colon lesion - circularity"
7
+ classification_types: [
8
+ "colon_lesion_circularity",
9
+ "morphology"
10
+ ]
11
+ examinations: [
12
+ "colonoscopy"
13
+ ]
14
+ findings: [
15
+ "colon_polyp",
16
+ ]
17
+ choices: [
18
+ "colon_lesion_circularity_false",
19
+ "colon_lesion_circularity_true"
20
+ ]
@@ -0,0 +1,24 @@
1
+
2
+ - model: endoreg_db.finding_classification
3
+ fields:
4
+ name: "colon_lesion_planarity_default"
5
+ classification_types: [
6
+ "colon_lesion_planarity",
7
+ "morphology"
8
+ ]
9
+ name_de: "Planaritätsklassifikation Kolonläsion"
10
+ name_en: "Colon Lesion Planarity Classification"
11
+ examinations: [
12
+ "colonoscopy"
13
+ ]
14
+ findings: [
15
+ "colon_polyp",
16
+ ]
17
+ choices: [
18
+ "colon_lesion_planarity_flat",
19
+ "colon_lesion_planarity_flat_elevated",
20
+ "colon_lesion_planarity_sessile",
21
+ "colon_lesion_planarity_pedunculated",
22
+ "colon_lesion_planarity_excavated",
23
+ "colon_lesion_planarity_unknown"
24
+ ]
@@ -0,0 +1,68 @@
1
+ - model: endoreg_db.finding_classification
2
+ fields:
3
+ name: "colon_lesion_size_categorical"
4
+ classification_types: [
5
+ "colon_lesion_size",
6
+ "morphology"
7
+ ]
8
+ name_de: "Größenklassifikation Kolonläsion (kategorisch)"
9
+ name_en: "Colon Lesion Size Classification (categorical)"
10
+ examinations: [
11
+ "colonoscopy"
12
+ ]
13
+ findings: [
14
+ "colon_polyp",
15
+ "tumor",
16
+ "erosion",
17
+ "ulcer",
18
+ "scar"
19
+ ]
20
+ choices: [
21
+ "colon_lesion_size_categorical_diminutive",
22
+ "colon_lesion_size_categorical_small",
23
+ "colon_lesion_size_categorical_medium",
24
+ "colon_lesion_size_categorical_large"
25
+ ]
26
+
27
+ - model: endoreg_db.finding_classification
28
+ fields:
29
+ name: "colon_lesion_size_mm"
30
+ classification_types: [
31
+ "colon_lesion_size",
32
+ "morphology"
33
+ ]
34
+ name_de: "Größenklassifikation Kolonläsion (numerisch)"
35
+ name_en: "Colon Lesion Size Classification (numerical)"
36
+ examinations: [
37
+ "colonoscopy"
38
+ ]
39
+ findings: [
40
+ "colon_polyp",
41
+ "tumor",
42
+ "erosion",
43
+ "ulcer",
44
+ "scar"
45
+ ]
46
+ choices: [
47
+ "colon_lesion_size_oval_mm"
48
+ ]
49
+
50
+ - model: endoreg_db.finding_classification
51
+ fields:
52
+ name: "colon_lesion_size_austria_categorical"
53
+ classification_types: [
54
+ "colon_lesion_size",
55
+ "morphology"
56
+ ]
57
+ examinations: [
58
+ "colonoscopy_austria_screening"
59
+ ]
60
+ findings: [
61
+ "colon_polyp",
62
+ ]
63
+ choices: [
64
+ "colon_lesion_size_austria_categorical_0_5",
65
+ "colon_lesion_size_austria_categorical_6_9",
66
+ "colon_lesion_size_austria_categorical_10_20",
67
+ "colon_lesion_size_austria_categorical_21_x"
68
+ ]
@@ -0,0 +1,20 @@
1
+ - model: endoreg_db.finding_classification
2
+ fields:
3
+ name: "colon_lesion_surface_intact_default"
4
+ classification_types: [
5
+ "colon_lesion_surface_intact",
6
+ "morphology"
7
+ ]
8
+ name_de: "Oberflächenklassifikation Kolonläsion"
9
+ name_en: "Colon Lesion Surface Classification"
10
+ examinations: [
11
+ "colonoscopy"
12
+ ]
13
+ findings: [
14
+ "colon_polyp",
15
+ ]
16
+ choices: [
17
+ "colon_lesion_surface_intact",
18
+ "colon_lesion_surface_eroded",
19
+ "colon_lesion_surface_ulcerated"
20
+ ]
@@ -0,0 +1,80 @@
1
+ - model: endoreg_db.finding_classification
2
+ fields:
3
+ name: "colonoscopy_location_default"
4
+ name_de: "Koloskopie Standard"
5
+ name_en: "Colonoscopy Default"
6
+ classification_types: [
7
+ "location",
8
+ ]
9
+ examinations: [
10
+ "colonoscopy"
11
+ ]
12
+ finding_types: [
13
+ "macroscopic"
14
+ ]
15
+ findings: [
16
+ "colon_polyp",
17
+ "tumor",
18
+ "erosion",
19
+ "ulcer",
20
+ "scar"
21
+ ]
22
+ choices: [
23
+ "terminal_ileum",
24
+ "cecum",
25
+ "ascending_colon",
26
+ "right_flexure",
27
+ "transverse_colon",
28
+ "descending_colon",
29
+ "sigmoid_colon",
30
+ "rectum",
31
+ "anal_canal"
32
+ ]
33
+
34
+ - model: endoreg_db.finding_classification
35
+ fields:
36
+ name: "colonoscopy_location_coarse"
37
+ name_de: "Koloskopie Grob"
38
+ name_en: "Colonoscopy Coarse"
39
+ classification_types: [
40
+ "location",
41
+ ]
42
+ examinations: [
43
+ "colonoscopy"
44
+ ]
45
+ finding_types: [
46
+ "macroscopic"
47
+ ]
48
+ findings: [
49
+ "colon_polyp",
50
+ # "tumor",
51
+ # "erosion",
52
+ # "ulcer",
53
+ # "scar"
54
+ ]
55
+ choices: [
56
+ "left_colon",
57
+ "right_colon",
58
+ "rectum"
59
+ ]
60
+
61
+ - model: endoreg_db.finding_classification
62
+ fields:
63
+ name: "colonoscopy_austria_screening_location"
64
+ name_de: "Koloskopie Österreich Screening Lokalisation"
65
+ name_en: "Colonoscopy Austria Screening Location"
66
+ classification_types: [
67
+ "location",
68
+ ]
69
+ examinations: [
70
+ "colonoscopy_austria_screening"
71
+ ]
72
+ findings: [
73
+ "colon_polyp",
74
+ ]
75
+ choices: [
76
+ "left_colon",
77
+ "right_colon",
78
+ "sigmoid_colon",
79
+ "rectum",
80
+ ]
@@ -0,0 +1,21 @@
1
+ - model: endoreg_db.finding_classification
2
+ fields:
3
+ name: "colon_lesion_lst"
4
+ classification_types: [
5
+ "colon_lesion_shape",
6
+ "morphology"
7
+ ]
8
+ name_de: "Oberflächenklassifikation Kolonläsion"
9
+ name_en: "Colon Lesion Surface Classification"
10
+ examinations: [
11
+ "colonoscopy"
12
+ ]
13
+ findings: [
14
+ "colon_polyp",
15
+ ]
16
+ choices: [
17
+ "colon_lesion_lst_granular_homogeneous",
18
+ "colon_lesion_lst_granular_nodular_mixed",
19
+ "colon_lesion_lst_non_granular_flat_elevated",
20
+ "colon_lesion_lst_non_granular_pseudodepressed"
21
+ ]
@@ -0,0 +1,20 @@
1
+ - model: endoreg_db.finding_classification
2
+ fields:
3
+ name: "colon_lesion_nice"
4
+ classification_types: [
5
+ "colon_lesion_advanced_imaging",
6
+ "morphology"
7
+ ]
8
+ name_de: "Kolonläsion - NICE"
9
+ name_en: "Colon lesion - NICE"
10
+ examinations: [
11
+ "colonoscopy"
12
+ ]
13
+ findings: [
14
+ "colon_polyp",
15
+ ]
16
+ choices: [
17
+ "colon_lesion_NICE_type_1",
18
+ "colon_lesion_NICE_type_2",
19
+ "colon_lesion_NICE_type_3"
20
+ ]
@@ -0,0 +1,26 @@
1
+
2
+ - model: endoreg_db.finding_classification
3
+ fields:
4
+ name: "colon_lesion_paris"
5
+ classification_types: [
6
+ "colon_lesion_shape",
7
+ "morphology"
8
+ ]
9
+ name_de: "Formklassifikation Kolonläsion"
10
+ name_en: "Colon Lesion Shape Classification"
11
+ examinations: [
12
+ "colonoscopy"
13
+ ]
14
+ findings: [
15
+ "colon_polyp",
16
+ ]
17
+ choices: [
18
+ "colon_paris_Is", # maps to colon_lesion_planarity_sessile
19
+ "colon_paris_Ip", # colon_lesion_planarity_pedunculated
20
+ "colon_paris_IIa",
21
+ "colon_paris_IIb",
22
+ "colon_paris_IIc",
23
+ "colon_paris_III",
24
+ "colon_paris_IIa_IIc",
25
+ "colon_paris_IIb_IIc"
26
+ ]
@@ -0,0 +1,22 @@
1
+
2
+ - model: endoreg_db.finding_classification
3
+ fields:
4
+ name: "colon_lesion_kudo"
5
+ classification_types: [
6
+ "colon_lesion_capillary_pattern",
7
+ "morphology"
8
+ ]
9
+ name_de: "Oberflächenklassifikation Kolonläsion"
10
+ name_en: "Colon Lesion Surface Classification"
11
+ examinations: [
12
+ "colonoscopy"
13
+ ]
14
+ findings: [
15
+ "colon_polyp",
16
+ ]
17
+ choices: [
18
+ "colon_lesion_sano_1",
19
+ "colon_lesion_sano_2",
20
+ "colon_lesion_sano_3a",
21
+ "colon_lesion_sano_3b",
22
+ ]
@@ -0,0 +1,53 @@
1
+
2
+ - model: endoreg_db.finding_classification
3
+ fields:
4
+ name: "colonoscopy_not_complete_reason"
5
+ classification_types: []
6
+ examinations: [
7
+ "colonoscopy",
8
+ "colonoscopy_austria_screening",
9
+ ]
10
+ findings: [
11
+ "colonoscopy_complete",
12
+ ]
13
+ choices: [
14
+ "colonoscopy_incomplete_insufficient_preparation",
15
+ "colonoscopy_incomplete_complication",
16
+ "colonoscopy_incomplete_pain",
17
+ "colonoscopy_incomplete_stenosis",
18
+ "colonoscopy_incomplete_other",
19
+ ]
20
+
21
+ - model: endoreg_db.finding_classification
22
+ fields:
23
+ name: "colonoscopy_austria_screening_findings_summary_worst"
24
+ classification_types: []
25
+ examinations: [
26
+ "colonoscopy_austria_screening",
27
+ ]
28
+ findings: [
29
+ "colonoscopy_austria_screening_findings_summary",
30
+ ]
31
+ choices: [
32
+ "colonoscopy_worst_finding_colon_cancer",
33
+ "colonoscopy_worst_finding_other",
34
+ "colonoscopy_worst_finding_polyp",
35
+ "colonoscopy_worst_finding_rectum_cancer",
36
+ ]
37
+
38
+ - model: endoreg_db.finding_classification
39
+ fields:
40
+ name: "colonoscopy_screening_outcome_overall"
41
+ classification_types: []
42
+ examinations: [
43
+ "colonoscopy_austria_screening",
44
+ ]
45
+ findings: [
46
+ "colonoscopy_austria_screening_outcome",
47
+ ]
48
+ choices: [
49
+ "outcome_restitutio_ad_integrum",
50
+ "outcome_death",
51
+ "outcome_unknown",
52
+ "outcome_lasting_disability",
53
+ ]
@@ -0,0 +1,25 @@
1
+
2
+ - model: endoreg_db.finding_classification
3
+ fields:
4
+ name: "complication_generic_type"
5
+ classification_types: []
6
+ examinations: [
7
+ "gastroscopy",
8
+ "endosonography_upper_gi",
9
+ "endosonography_lower_gi",
10
+ "ercp",
11
+ "small_bowel_endoscopy",
12
+ "capsule_endoscopy",
13
+ "percutaneous_transhepatic_biliary_drainage",
14
+ "colonoscopy",
15
+ "colonoscopy_austria_screening",
16
+ ]
17
+ findings: [
18
+ "complication",
19
+ ]
20
+ choices: [
21
+ "complication_generic_type_cardiorespiratory",
22
+ "complication_generic_type_bleeding",
23
+ "complication_generic_type_perforation",
24
+ "complication_generic_type_other",
25
+ ]