endoreg-db 0.8.2__tar.gz → 0.8.2.2__tar.gz

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 (890) hide show
  1. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/.env.example +12 -2
  2. endoreg_db-0.8.2.2/.git +1 -0
  3. endoreg_db-0.8.2.2/.github/copilot-instructions.md +39 -0
  4. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/PKG-INFO +2 -2
  5. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/devenv.nix +9 -11
  6. endoreg_db-0.8.2.2/docs/test_suite_blueprint.md +58 -0
  7. endoreg_db-0.8.2.2/docs/test_suite_review.md +31 -0
  8. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/helpers/default_objects.py +48 -29
  9. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/management/commands/import_video.py +5 -3
  10. endoreg_db-0.8.2.2/endoreg_db/migrations/0003_add_center_display_name.py +30 -0
  11. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/administration/center/center.py +7 -1
  12. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/media/pdf/raw_pdf.py +31 -26
  13. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/media/video/create_from_file.py +26 -4
  14. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/media/video/video_file.py +89 -57
  15. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/media/video/video_file_anonymize.py +2 -1
  16. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/media/video/video_file_frames/_manage_frame_range.py +12 -0
  17. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/media/video/video_file_io.py +4 -2
  18. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/metadata/sensitive_meta.py +6 -6
  19. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/metadata/video_meta.py +2 -2
  20. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/services/pdf_import.py +131 -15
  21. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/services/pseudonym_service.py +1 -1
  22. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/services/video_import.py +400 -387
  23. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/utils/paths.py +2 -10
  24. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/utils/video/ffmpeg_wrapper.py +67 -4
  25. endoreg_db-0.8.2.2/endoreg_db/views/anonymization/validate.py +107 -0
  26. endoreg_db-0.8.2.2/endoreg_db/views/requirement_lookup/lookup_store.py +0 -0
  27. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/video/correction.py +8 -6
  28. endoreg_db-0.8.2.2/prompts.md +19 -0
  29. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/pyproject.toml +2 -2
  30. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/pytest.ini +2 -1
  31. endoreg_db-0.8.2.2/scripts/__init__.py +0 -0
  32. endoreg_db-0.8.2.2/todo.md +29 -0
  33. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/uv.lock +5 -5
  34. endoreg_db-0.8.2/endoreg_db/services/ollama_api_docs.py +0 -1528
  35. endoreg_db-0.8.2/endoreg_db/views/anonymization/validate.py +0 -66
  36. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/.devenv-vars.json +0 -0
  37. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/.envrc +0 -0
  38. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/.github/ISSUE_TEMPLATE/label-request.yml +0 -0
  39. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/.gitignore +0 -0
  40. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/.gitmodules +0 -0
  41. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/.pylintrc +0 -0
  42. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/.python-version +0 -0
  43. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/.vscode/settings.json +0 -0
  44. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/CONFIGURATION_GUIDE.md +0 -0
  45. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/Images/loadbasedata0.png +0 -0
  46. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/Images/loadbasedata1.png +0 -0
  47. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/Images/loadbasedata2.png +0 -0
  48. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/Images/loadbasedata3.png +0 -0
  49. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/Images/loadbasedata4.png +0 -0
  50. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/Images/loadbasedata4b.png +0 -0
  51. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/Images/loadbasedata5.png +0 -0
  52. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/Images/shell0.png +0 -0
  53. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/Images/shell1.png +0 -0
  54. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/Images/shell2.png +0 -0
  55. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/Images/shell3.png +0 -0
  56. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/Images/shell3b.png +0 -0
  57. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/Images/testscreenshort.png +0 -0
  58. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/LICENSE +0 -0
  59. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/README.md +0 -0
  60. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/celery_app.py +0 -0
  61. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/changelogs/changelog-0.6.4.md +0 -0
  62. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/changelogs/changelog-0.8.1.md +0 -0
  63. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/conf/db.yaml +0 -0
  64. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/conf/db_pwd +0 -0
  65. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/conf/example.env +0 -0
  66. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/conf_template/db.yaml +0 -0
  67. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/conf_template/default.env +0 -0
  68. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/config/__init__.py +0 -0
  69. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/config/settings/__init__.py +0 -0
  70. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/config/settings/base.py +0 -0
  71. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/config/settings/dev.py +0 -0
  72. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/config/settings/prod.py +0 -0
  73. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/config/settings/test.py +0 -0
  74. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/config.py +0 -0
  75. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/dev/__init__.py +0 -0
  76. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/dev/cg.py +0 -0
  77. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/dev/dev_settings.py +0 -0
  78. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/dev/dev_settings_root.py +0 -0
  79. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/dev/explore_legacy_frames.py +0 -0
  80. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/dev/test_model.py +0 -0
  81. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/dev/video_utils.py +0 -0
  82. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/devenv.lock +0 -0
  83. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/devenv.yaml +0 -0
  84. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/devlog/00 - bleeding-risk.md +0 -0
  85. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/devlog/01 - model_documentation.md +0 -0
  86. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/devlog/02 - patient_model_manual.md +0 -0
  87. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/devlog/03 - requirement_model_manual.md +0 -0
  88. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/doc_settings.py +0 -0
  89. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/docs/Makefile +0 -0
  90. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/docs/VIDEO_CORRECTION_MODULES.md +0 -0
  91. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/docs/__init__.py +0 -0
  92. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/docs/make.bat +0 -0
  93. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/docs/source/conf.py +0 -0
  94. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/docs/source/index.rst +0 -0
  95. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/docs/source/models.rst +0 -0
  96. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/docs/source/tests.rst +0 -0
  97. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg-db.code-workspace +0 -0
  98. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/__init__.py +0 -0
  99. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/admin.py +0 -0
  100. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/api/serializers/finding_descriptions.py +0 -0
  101. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/api/views/finding_descriptions.py +0 -0
  102. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/api_urls.py +0 -0
  103. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/apps.py +0 -0
  104. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/assets/dummy_model.ckpt +0 -0
  105. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/codemods/readme.md +0 -0
  106. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/codemods/rename_datetime_fields.py +0 -0
  107. {endoreg_db-0.8.2/endoreg_db/factories → endoreg_db-0.8.2.2/endoreg_db/config}/__init__.py +0 -0
  108. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/config/env.py +0 -0
  109. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/__init__.py +0 -0
  110. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/ai_model/data.yaml +0 -0
  111. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/ai_model_label/label/data.yaml +0 -0
  112. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/ai_model_label/label/polyp_classification.yaml +0 -0
  113. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/ai_model_label/label-set/data.yaml +0 -0
  114. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/ai_model_label/label-set/polyp_classifications.yaml +0 -0
  115. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/ai_model_label/label-type/data.yaml +0 -0
  116. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/ai_model_meta/default_multilabel_classification.yaml +0 -0
  117. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/ai_model_type/data.yaml +0 -0
  118. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/ai_model_video_segmentation_label/base_segmentation.yaml +0 -0
  119. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/ai_model_video_segmentation_labelset/data.yaml +0 -0
  120. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/case_template/rule/00_patient_lab_sample_add_default_value.yaml +0 -0
  121. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/case_template/rule/01_patient-set-age.yaml +0 -0
  122. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/case_template/rule/01_patient-set-gender.yaml +0 -0
  123. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/case_template/rule/11_create_patient_lab_sample.yaml +0 -0
  124. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/case_template/rule/12_create-patient_medication-anticoagulation.yaml +0 -0
  125. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/case_template/rule/13_create-patient_medication_schedule-anticoagulation.yaml +0 -0
  126. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/case_template/rule/19_create_patient.yaml +0 -0
  127. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/case_template/rule_type/base_types.yaml +0 -0
  128. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/case_template/rule_value/.init +0 -0
  129. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/case_template/rule_value_type/base_types.yaml +0 -0
  130. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/case_template/template/base.yaml +0 -0
  131. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/case_template/template_type/pre_endoscopy.yaml +0 -0
  132. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/case_template/tmp/_rule_value +0 -0
  133. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/case_template/tmp/rule/01_atrial_fibrillation.yaml +0 -0
  134. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/case_template/tmp/rule/02_create_object.yaml +0 -0
  135. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/case_template/tmp/template/atrial_fibrillation_low_risk.yaml +0 -0
  136. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/center/data.yaml +0 -0
  137. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/center_resource/green_endoscopy_dashboard_CenterResource.yaml +0 -0
  138. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/center_shift/ukw.yaml +0 -0
  139. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/center_waste/green_endoscopy_dashboard_CenterWaste.yaml +0 -0
  140. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/contraindication/bleeding.yaml +0 -0
  141. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/db_summary.csv +0 -0
  142. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/db_summary.xlsx +0 -0
  143. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/disease/cardiovascular.yaml +0 -0
  144. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/disease/hepatology.yaml +0 -0
  145. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/disease/misc.yaml +0 -0
  146. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/disease/renal.yaml +0 -0
  147. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/disease_classification/chronic_kidney_disease.yaml +0 -0
  148. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/disease_classification/coronary_vessel_disease.yaml +0 -0
  149. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/disease_classification_choice/chronic_kidney_disease.yaml +0 -0
  150. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/disease_classification_choice/coronary_vessel_disease.yaml +0 -0
  151. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/distribution/date/patient.yaml +0 -0
  152. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/distribution/multiple_categorical/.init +0 -0
  153. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/distribution/numeric/data.yaml +0 -0
  154. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/distribution/single_categorical/patient.yaml +0 -0
  155. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/emission_factor/green_endoscopy_dashboard_EmissionFactor.yaml +0 -0
  156. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/endoscope/data.yaml +0 -0
  157. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/endoscope_type/data.yaml +0 -0
  158. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/endoscopy_processor/data.yaml +0 -0
  159. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/event/cardiology.yaml +0 -0
  160. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/event/neurology.yaml +0 -0
  161. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/event/surgery.yaml +0 -0
  162. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/event/thrombembolism.yaml +0 -0
  163. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/examination/examinations/data.yaml +0 -0
  164. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/examination/time/data.yaml +0 -0
  165. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/examination/time-type/data.yaml +0 -0
  166. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/examination/type/data.yaml +0 -0
  167. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/examination_indication/endoscopy.yaml +0 -0
  168. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/examination_indication_classification/endoscopy.yaml +0 -0
  169. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/examination_indication_classification_choice/endoscopy.yaml +0 -0
  170. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/examination_requirement_set/colonoscopy.yaml +0 -0
  171. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/finding/anatomy_colon.yaml +0 -0
  172. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/finding/colonoscopy.yaml +0 -0
  173. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/finding/colonoscopy_bowel_prep.yaml +0 -0
  174. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/finding/complication.yaml +0 -0
  175. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/finding/data.yaml +0 -0
  176. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/finding/examination_setting.yaml +0 -0
  177. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/finding/medication_related.yaml +0 -0
  178. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/finding/outcome.yaml +0 -0
  179. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/finding_classification/colonoscopy_bowel_preparation.yaml +0 -0
  180. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/finding_classification/colonoscopy_jnet.yaml +0 -0
  181. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/finding_classification/colonoscopy_kudo.yaml +0 -0
  182. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/finding_classification/colonoscopy_lesion_circularity.yaml +0 -0
  183. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/finding_classification/colonoscopy_lesion_planarity.yaml +0 -0
  184. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/finding_classification/colonoscopy_lesion_size.yaml +0 -0
  185. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/finding_classification/colonoscopy_lesion_surface.yaml +0 -0
  186. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/finding_classification/colonoscopy_location.yaml +0 -0
  187. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/finding_classification/colonoscopy_lst.yaml +0 -0
  188. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/finding_classification/colonoscopy_nice.yaml +0 -0
  189. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/finding_classification/colonoscopy_paris.yaml +0 -0
  190. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/finding_classification/colonoscopy_sano.yaml +0 -0
  191. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/finding_classification/colonoscopy_summary.yaml +0 -0
  192. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/finding_classification/complication_generic.yaml +0 -0
  193. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/finding_classification/examination_setting_generic.yaml +0 -0
  194. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/finding_classification/histology_colo.yaml +0 -0
  195. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/finding_classification/intervention_required.yaml +0 -0
  196. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/finding_classification/medication_related.yaml +0 -0
  197. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/finding_classification/visualized.yaml +0 -0
  198. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/finding_classification_choice/bowel_preparation.yaml +0 -0
  199. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/finding_classification_choice/colon_lesion_circularity_default.yaml +0 -0
  200. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/finding_classification_choice/colon_lesion_jnet.yaml +0 -0
  201. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/finding_classification_choice/colon_lesion_kudo.yaml +0 -0
  202. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/finding_classification_choice/colon_lesion_lst.yaml +0 -0
  203. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/finding_classification_choice/colon_lesion_nice.yaml +0 -0
  204. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/finding_classification_choice/colon_lesion_paris.yaml +0 -0
  205. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/finding_classification_choice/colon_lesion_planarity_default.yaml +0 -0
  206. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/finding_classification_choice/colon_lesion_sano.yaml +0 -0
  207. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/finding_classification_choice/colon_lesion_surface_intact_default.yaml +0 -0
  208. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/finding_classification_choice/colonoscopy_location.yaml +0 -0
  209. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/finding_classification_choice/colonoscopy_not_complete_reason.yaml +0 -0
  210. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/finding_classification_choice/colonoscopy_size.yaml +0 -0
  211. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/finding_classification_choice/colonoscopy_summary_worst_finding.yaml +0 -0
  212. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/finding_classification_choice/complication_generic_types.yaml +0 -0
  213. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/finding_classification_choice/examination_setting_generic_types.yaml +0 -0
  214. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/finding_classification_choice/histology.yaml +0 -0
  215. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/finding_classification_choice/histology_polyp.yaml +0 -0
  216. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/finding_classification_choice/outcome.yaml +0 -0
  217. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/finding_classification_choice/yes_no_na.yaml +0 -0
  218. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/finding_classification_type/colonoscopy_basic.yaml +0 -0
  219. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/finding_intervention/endoscopy.yaml +0 -0
  220. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/finding_intervention/endoscopy_colonoscopy.yaml +0 -0
  221. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/finding_intervention/endoscopy_egd.yaml +0 -0
  222. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/finding_intervention/endoscopy_ercp.yaml +0 -0
  223. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/finding_intervention/endoscopy_eus_lower.yaml +0 -0
  224. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/finding_intervention/endoscopy_eus_upper.yaml +0 -0
  225. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/finding_intervention_type/endoscopy.yaml +0 -0
  226. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/finding_morphology_classification_type/colonoscopy.yaml +0 -0
  227. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/finding_type/data.yaml +0 -0
  228. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/gender/data.yaml +0 -0
  229. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/information_source/annotation.yaml +0 -0
  230. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/information_source/data.yaml +0 -0
  231. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/information_source/endoscopy_guidelines.yaml +0 -0
  232. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/information_source/medication.yaml +0 -0
  233. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/information_source/prediction.yaml +0 -0
  234. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/information_source_type/data.yaml +0 -0
  235. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/lab_value/cardiac_enzymes.yaml +0 -0
  236. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/lab_value/coagulation.yaml +0 -0
  237. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/lab_value/electrolytes.yaml +0 -0
  238. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/lab_value/gastrointestinal_function.yaml +0 -0
  239. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/lab_value/hematology.yaml +0 -0
  240. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/lab_value/hormones.yaml +0 -0
  241. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/lab_value/lipids.yaml +0 -0
  242. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/lab_value/misc.yaml +0 -0
  243. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/lab_value/renal_function.yaml +0 -0
  244. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/log_type/data.yaml +0 -0
  245. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/lx_client_tag/base.yaml +0 -0
  246. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/lx_client_type/base.yaml +0 -0
  247. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/lx_permission/base.yaml +0 -0
  248. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/lx_permission/endoreg.yaml +0 -0
  249. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/material/material.yaml +0 -0
  250. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/medication/anticoagulation.yaml +0 -0
  251. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/medication/tah.yaml +0 -0
  252. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/medication_indication/anticoagulation.yaml +0 -0
  253. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/medication_indication_type/data.yaml +0 -0
  254. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/medication_indication_type/thrombembolism.yaml +0 -0
  255. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/medication_intake_time/base.yaml +0 -0
  256. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/medication_schedule/apixaban.yaml +0 -0
  257. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/medication_schedule/ass.yaml +0 -0
  258. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/medication_schedule/enoxaparin.yaml +0 -0
  259. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/names_first/first_names.yaml +0 -0
  260. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/names_last/last_names.yaml +0 -0
  261. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/network_device/data.yaml +0 -0
  262. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/network_device_type/data.yaml +0 -0
  263. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/organ/data.yaml +0 -0
  264. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/patient_lab_sample_type/generic.yaml +0 -0
  265. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/pdf_type/data.yaml +0 -0
  266. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/product/green_endoscopy_dashboard_Product.yaml +0 -0
  267. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/product_group/green_endoscopy_dashboard_ProductGroup.yaml +0 -0
  268. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/product_material/green_endoscopy_dashboard_ProductMaterial.yaml +0 -0
  269. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/product_weight/green_endoscopy_dashboard_ProductWeight.yaml +0 -0
  270. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/profession/data.yaml +0 -0
  271. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/qualification/endoscopy.yaml +0 -0
  272. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/qualification/m2.yaml +0 -0
  273. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/qualification/outpatient_clinic.yaml +0 -0
  274. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/qualification/sonography.yaml +0 -0
  275. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/qualification_type/base.yaml +0 -0
  276. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/reference_product/green_endoscopy_dashboard_ReferenceProduct.yaml +0 -0
  277. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/report_reader_flag/rkh-histology-generic.yaml +0 -0
  278. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/report_reader_flag/ukw-examination-generic.yaml +0 -0
  279. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/report_reader_flag/ukw-histology-generic.yaml +0 -0
  280. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/requirement/age.yaml +0 -0
  281. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/requirement/colonoscopy_baseline_austria.yaml +0 -0
  282. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/requirement/disease_cardiovascular.yaml +0 -0
  283. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/requirement/disease_classification_choice_cardiovascular.yaml +0 -0
  284. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/requirement/disease_hepatology.yaml +0 -0
  285. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/requirement/disease_misc.yaml +0 -0
  286. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/requirement/disease_renal.yaml +0 -0
  287. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/requirement/endoscopy_bleeding_risk.yaml +0 -0
  288. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/requirement/event_cardiology.yaml +0 -0
  289. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/requirement/event_requirements.yaml +0 -0
  290. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/requirement/finding_colon_polyp.yaml +0 -0
  291. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/requirement/gender.yaml +0 -0
  292. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/requirement/lab_value.yaml +0 -0
  293. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/requirement/medication.yaml +0 -0
  294. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/requirement_operator/age.yaml +0 -0
  295. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/requirement_operator/lab_operators.yaml +0 -0
  296. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/requirement_operator/model_operators.yaml +0 -0
  297. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/requirement_set/01_endoscopy_generic.yaml +0 -0
  298. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/requirement_set/colonoscopy_austria_screening.yaml +0 -0
  299. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/requirement_set/endoscopy_bleeding_risk.yaml +0 -0
  300. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/requirement_set_type/data.yaml +0 -0
  301. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/requirement_type/requirement_types.yaml +0 -0
  302. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/resource/green_endoscopy_dashboard_Resource.yaml +0 -0
  303. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/risk/bleeding.yaml +0 -0
  304. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/risk/thrombosis.yaml +0 -0
  305. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/risk_type/data.yaml +0 -0
  306. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/shift/endoscopy.yaml +0 -0
  307. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/shift/m2.yaml +0 -0
  308. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/shift_type/base.yaml +0 -0
  309. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/tag/requirement_set_tags.yaml +0 -0
  310. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/tmp/chronic_kidney_disease.yaml +0 -0
  311. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/tmp/congestive_heart_failure.yaml +0 -0
  312. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/transport_route/green_endoscopy_dashboard_TransportRoute.yaml +0 -0
  313. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/unit/concentration.yaml +0 -0
  314. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/unit/data.yaml +0 -0
  315. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/unit/length.yaml +0 -0
  316. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/unit/misc.yaml +0 -0
  317. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/unit/rate.yaml +0 -0
  318. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/unit/time.yaml +0 -0
  319. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/unit/volume.yaml +0 -0
  320. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/unit/weight.yaml +0 -0
  321. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/data/waste/data.yaml +0 -0
  322. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/exceptions.py +0 -0
  323. {endoreg_db-0.8.2/endoreg_db/helpers → endoreg_db-0.8.2.2/endoreg_db/factories}/__init__.py +0 -0
  324. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/forms/__init__.py +0 -0
  325. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/forms/examination_form.py +0 -0
  326. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/forms/patient_finding_intervention_form.py +0 -0
  327. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/forms/patient_form.py +0 -0
  328. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/forms/questionnaires/__init__.py +0 -0
  329. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/forms/questionnaires/tto_questionnaire.py +0 -0
  330. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/forms/settings/__init__.py +0 -0
  331. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/forms/unit.py +0 -0
  332. {endoreg_db-0.8.2/endoreg_db/migrations → endoreg_db-0.8.2.2/endoreg_db/helpers}/__init__.py +0 -0
  333. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/helpers/count_db.py +0 -0
  334. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/helpers/data_loader.py +0 -0
  335. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/helpers/download_segmentation_model.py +0 -0
  336. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/helpers/interact.py +0 -0
  337. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/helpers/test_video_helper.py +0 -0
  338. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/logger_conf.py +0 -0
  339. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/management/__init__.py +0 -0
  340. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/management/commands/__init__.py +0 -0
  341. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/management/commands/anonymize_video.py +0 -0
  342. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/management/commands/check_auth.py +0 -0
  343. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/management/commands/create_multilabel_model_meta.py +0 -0
  344. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/management/commands/fix_missing_patient_data.py +0 -0
  345. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/management/commands/fix_video_paths.py +0 -0
  346. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/management/commands/import_fallback_video.py +0 -0
  347. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/management/commands/import_report.py +0 -0
  348. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/management/commands/import_video_with_classification.py +0 -0
  349. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/management/commands/init_default_ai_model.py +0 -0
  350. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/management/commands/load_ai_model_data.py +0 -0
  351. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/management/commands/load_ai_model_label_data.py +0 -0
  352. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/management/commands/load_base_db_data.py +0 -0
  353. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/management/commands/load_center_data.py +0 -0
  354. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/management/commands/load_contraindication_data.py +0 -0
  355. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/management/commands/load_disease_classification_choices_data.py +0 -0
  356. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/management/commands/load_disease_classification_data.py +0 -0
  357. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/management/commands/load_disease_data.py +0 -0
  358. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/management/commands/load_distribution_data.py +0 -0
  359. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/management/commands/load_endoscope_data.py +0 -0
  360. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/management/commands/load_event_data.py +0 -0
  361. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/management/commands/load_examination_data.py +0 -0
  362. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/management/commands/load_examination_indication_data.py +0 -0
  363. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/management/commands/load_finding_data.py +0 -0
  364. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/management/commands/load_gender_data.py +0 -0
  365. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/management/commands/load_green_endoscopy_wuerzburg_data.py +0 -0
  366. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/management/commands/load_information_source.py +0 -0
  367. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/management/commands/load_lab_value_data.py +0 -0
  368. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/management/commands/load_medication_data.py +0 -0
  369. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/management/commands/load_name_data.py +0 -0
  370. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/management/commands/load_organ_data.py +0 -0
  371. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/management/commands/load_pdf_type_data.py +0 -0
  372. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/management/commands/load_profession_data.py +0 -0
  373. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/management/commands/load_qualification_data.py +0 -0
  374. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/management/commands/load_report_reader_flag_data.py +0 -0
  375. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/management/commands/load_requirement_data.py +0 -0
  376. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/management/commands/load_risk_data.py +0 -0
  377. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/management/commands/load_shift_data.py +0 -0
  378. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/management/commands/load_tag_data.py +0 -0
  379. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/management/commands/load_unit_data.py +0 -0
  380. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/management/commands/load_user_groups.py +0 -0
  381. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/management/commands/register_ai_model.py +0 -0
  382. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/management/commands/reset_celery_schedule.py +0 -0
  383. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/management/commands/start_filewatcher.py +0 -0
  384. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/management/commands/storage_management.py +0 -0
  385. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/management/commands/summarize_db_content.py +0 -0
  386. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/management/commands/validate_video.py +0 -0
  387. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/management/commands/validate_video_files.py +0 -0
  388. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/management/commands/video_validation.py +0 -0
  389. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/mermaid/Overall_flow_patient_finding_intervention.md +0 -0
  390. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/mermaid/anonymized_image_annotation.md +0 -0
  391. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/mermaid/binary_classification_annotation.md +0 -0
  392. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/mermaid/classification.md +0 -0
  393. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/mermaid/examination.md +0 -0
  394. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/mermaid/findings.md +0 -0
  395. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/mermaid/image_classification.md +0 -0
  396. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/mermaid/interventions.md +0 -0
  397. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/mermaid/morphology.md +0 -0
  398. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/mermaid/patient_creation.md +0 -0
  399. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/mermaid/video_segmentation_annotation.md +0 -0
  400. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/migrations/0001_initial.py +0 -0
  401. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/migrations/0002_add_video_correction_models.py +0 -0
  402. {endoreg_db-0.8.2/endoreg_db/models/administration/person/names → endoreg_db-0.8.2.2/endoreg_db/migrations}/__init__.py +0 -0
  403. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/__init__.py +0 -0
  404. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/administration/__init__.py +0 -0
  405. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/administration/ai/__init__.py +0 -0
  406. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/administration/ai/active_model.py +0 -0
  407. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/administration/ai/ai_model.py +0 -0
  408. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/administration/ai/model_type.py +0 -0
  409. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/administration/case/__init__.py +0 -0
  410. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/administration/case/case.py +0 -0
  411. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/administration/case/case_template/__init__.py +0 -0
  412. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/administration/case/case_template/case_template.py +0 -0
  413. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/administration/case/case_template/case_template_rule.py +0 -0
  414. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/administration/case/case_template/case_template_rule_value.py +0 -0
  415. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/administration/case/case_template/case_template_type.py +0 -0
  416. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/administration/center/__init__.py +0 -0
  417. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/administration/center/center_product.py +0 -0
  418. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/administration/center/center_resource.py +0 -0
  419. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/administration/center/center_shift.py +0 -0
  420. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/administration/center/center_waste.py +0 -0
  421. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/administration/permissions/__init__.py +0 -0
  422. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/administration/person/__init__.py +0 -0
  423. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/administration/person/employee/__init__.py +0 -0
  424. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/administration/person/employee/employee.py +0 -0
  425. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/administration/person/employee/employee_qualification.py +0 -0
  426. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/administration/person/employee/employee_type.py +0 -0
  427. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/administration/person/examiner/__init__.py +0 -0
  428. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/administration/person/examiner/examiner.py +0 -0
  429. {endoreg_db-0.8.2/endoreg_db/schemas → endoreg_db-0.8.2.2/endoreg_db/models/administration/person/names}/__init__.py +0 -0
  430. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/administration/person/names/first_name.py +0 -0
  431. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/administration/person/names/last_name.py +0 -0
  432. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/administration/person/patient/__init__.py +0 -0
  433. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/administration/person/patient/patient.py +0 -0
  434. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/administration/person/person.py +0 -0
  435. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/administration/person/profession/__init__.py +0 -0
  436. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/administration/person/user/__init__.py +0 -0
  437. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/administration/person/user/portal_user_information.py +0 -0
  438. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/administration/product/__init__.py +0 -0
  439. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/administration/product/product.py +0 -0
  440. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/administration/product/product_group.py +0 -0
  441. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/administration/product/product_material.py +0 -0
  442. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/administration/product/product_weight.py +0 -0
  443. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/administration/product/reference_product.py +0 -0
  444. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/administration/qualification/__init__.py +0 -0
  445. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/administration/qualification/qualification.py +0 -0
  446. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/administration/qualification/qualification_type.py +0 -0
  447. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/administration/shift/__init__.py +0 -0
  448. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/administration/shift/scheduled_days.py +0 -0
  449. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/administration/shift/shift.py +0 -0
  450. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/administration/shift/shift_type.py +0 -0
  451. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/label/__init__.py +0 -0
  452. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/label/annotation/__init__.py +0 -0
  453. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/label/annotation/image_classification.py +0 -0
  454. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/label/annotation/video_segmentation_annotation.py +0 -0
  455. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/label/label.py +0 -0
  456. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/label/label_set.py +0 -0
  457. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/label/label_type.py +0 -0
  458. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/label/label_video_segment/__init__.py +0 -0
  459. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/label/label_video_segment/_create_from_video.py +0 -0
  460. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/label/label_video_segment/label_video_segment.py +0 -0
  461. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/label/video_segmentation_label.py +0 -0
  462. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/label/video_segmentation_labelset.py +0 -0
  463. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/media/__init__.py +0 -0
  464. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/media/frame/__init__.py +0 -0
  465. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/media/frame/frame.py +0 -0
  466. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/media/pdf/__init__.py +0 -0
  467. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/media/pdf/report_file.py +0 -0
  468. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/media/pdf/report_reader/__init__.py +0 -0
  469. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/media/pdf/report_reader/report_reader_config.py +0 -0
  470. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/media/pdf/report_reader/report_reader_flag.py +0 -0
  471. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/media/video/__init__.py +0 -0
  472. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/media/video/pipe_1.py +0 -0
  473. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/media/video/pipe_2.py +0 -0
  474. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/media/video/refactor_plan.md +0 -0
  475. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/media/video/video_file_ai.py +0 -0
  476. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/media/video/video_file_frames/__init__.py +0 -0
  477. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/media/video/video_file_frames/_bulk_create_frames.py +0 -0
  478. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/media/video/video_file_frames/_create_frame_object.py +0 -0
  479. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/media/video/video_file_frames/_delete_frames.py +0 -0
  480. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/media/video/video_file_frames/_extract_frames.py +0 -0
  481. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/media/video/video_file_frames/_get_frame.py +0 -0
  482. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/media/video/video_file_frames/_get_frame_number.py +0 -0
  483. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/media/video/video_file_frames/_get_frame_path.py +0 -0
  484. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/media/video/video_file_frames/_get_frame_paths.py +0 -0
  485. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/media/video/video_file_frames/_get_frame_range.py +0 -0
  486. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/media/video/video_file_frames/_get_frames.py +0 -0
  487. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/media/video/video_file_frames/_initialize_frames.py +0 -0
  488. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/media/video/video_file_frames/_mark_frames_extracted_status.py +0 -0
  489. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/media/video/video_file_frames.py +0 -0
  490. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/media/video/video_file_meta/__init__.py +0 -0
  491. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/media/video/video_file_meta/get_crop_template.py +0 -0
  492. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/media/video/video_file_meta/get_endo_roi.py +0 -0
  493. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/media/video/video_file_meta/get_fps.py +0 -0
  494. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/media/video/video_file_meta/initialize_video_specs.py +0 -0
  495. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/media/video/video_file_meta/text_meta.py +0 -0
  496. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/media/video/video_file_meta/video_meta.py +0 -0
  497. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/media/video/video_file_meta.py +0 -0
  498. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/media/video/video_file_segments.py +0 -0
  499. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/medical/__init__.py +0 -0
  500. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/medical/contraindication/__init__.py +0 -0
  501. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/medical/disease.py +0 -0
  502. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/medical/event.py +0 -0
  503. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/medical/examination/__init__.py +0 -0
  504. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/medical/examination/examination.py +0 -0
  505. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/medical/examination/examination_indication.py +0 -0
  506. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/medical/examination/examination_time.py +0 -0
  507. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/medical/examination/examination_time_type.py +0 -0
  508. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/medical/examination/examination_type.py +0 -0
  509. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/medical/finding/__init__.py +0 -0
  510. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/medical/finding/finding.py +0 -0
  511. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/medical/finding/finding_classification.py +0 -0
  512. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/medical/finding/finding_intervention.py +0 -0
  513. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/medical/finding/finding_type.py +0 -0
  514. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/medical/hardware/__init__.py +0 -0
  515. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/medical/hardware/endoscope.py +0 -0
  516. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/medical/hardware/endoscopy_processor.py +0 -0
  517. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/medical/laboratory/__init__.py +0 -0
  518. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/medical/laboratory/lab_value.py +0 -0
  519. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/medical/medication/__init__.py +0 -0
  520. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/medical/medication/medication.py +0 -0
  521. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/medical/medication/medication_indication.py +0 -0
  522. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/medical/medication/medication_indication_type.py +0 -0
  523. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/medical/medication/medication_intake_time.py +0 -0
  524. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/medical/medication/medication_schedule.py +0 -0
  525. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/medical/organ/__init__.py +0 -0
  526. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/medical/patient/__init__.py +0 -0
  527. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/medical/patient/medication_examples.py +0 -0
  528. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/medical/patient/patient_disease.py +0 -0
  529. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/medical/patient/patient_event.py +0 -0
  530. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/medical/patient/patient_examination.py +0 -0
  531. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/medical/patient/patient_examination_indication.py +0 -0
  532. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/medical/patient/patient_finding.py +0 -0
  533. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/medical/patient/patient_finding_classification.py +0 -0
  534. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/medical/patient/patient_finding_intervention.py +0 -0
  535. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/medical/patient/patient_lab_sample.py +0 -0
  536. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/medical/patient/patient_lab_value.py +0 -0
  537. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/medical/patient/patient_medication.py +0 -0
  538. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/medical/patient/patient_medication_schedule.py +0 -0
  539. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/medical/risk/__init__.py +0 -0
  540. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/medical/risk/risk.py +0 -0
  541. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/medical/risk/risk_type.py +0 -0
  542. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/metadata/__init__.py +0 -0
  543. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/metadata/frame_ocr_result.py +0 -0
  544. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/metadata/model_meta.py +0 -0
  545. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/metadata/model_meta_logic.py +0 -0
  546. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/metadata/pdf_meta.py +0 -0
  547. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/metadata/sensitive_meta_logic.py +0 -0
  548. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/metadata/video_prediction_logic.py +0 -0
  549. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/metadata/video_prediction_meta.py +0 -0
  550. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/other/__init__.py +0 -0
  551. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/other/distribution/__init__.py +0 -0
  552. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/other/distribution/base_value_distribution.py +0 -0
  553. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/other/distribution/date_value_distribution.py +0 -0
  554. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/other/distribution/multiple_categorical_value_distribution.py +0 -0
  555. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/other/distribution/numeric_value_distribution.py +0 -0
  556. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/other/distribution/single_categorical_value_distribution.py +0 -0
  557. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/other/emission/__init__.py +0 -0
  558. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/other/emission/emission_factor.py +0 -0
  559. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/other/gender.py +0 -0
  560. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/other/information_source.py +0 -0
  561. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/other/material.py +0 -0
  562. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/other/resource.py +0 -0
  563. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/other/tag.py +0 -0
  564. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/other/transport_route.py +0 -0
  565. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/other/unit.py +0 -0
  566. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/other/waste.py +0 -0
  567. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/requirement/__init__.py +0 -0
  568. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/requirement/requirement.py +0 -0
  569. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/requirement/requirement_evaluation/__init__.py +0 -0
  570. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/requirement/requirement_evaluation/get_values.py +0 -0
  571. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/requirement/requirement_evaluation/operator_evaluation_models.py +0 -0
  572. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/requirement/requirement_evaluation/requirement_type_parser.py +0 -0
  573. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/requirement/requirement_operator.py +0 -0
  574. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/requirement/requirement_set.py +0 -0
  575. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/rule/__init__.py +0 -0
  576. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/rule/rule.py +0 -0
  577. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/rule/rule_applicator.py +0 -0
  578. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/rule/rule_attribute_dtype.py +0 -0
  579. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/rule/rule_type.py +0 -0
  580. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/rule/ruleset.py +0 -0
  581. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/state/__init__.py +0 -0
  582. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/state/abstract.py +0 -0
  583. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/state/audit_ledger.py +0 -0
  584. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/state/label_video_segment.py +0 -0
  585. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/state/raw_pdf.py +0 -0
  586. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/state/sensitive_meta.py +0 -0
  587. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/state/video.py +0 -0
  588. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/upload_job.py +0 -0
  589. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/utils.py +0 -0
  590. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/video_metadata.py +0 -0
  591. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/models/video_processing.py +0 -0
  592. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/queries/__init__.py +0 -0
  593. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/queries/annotations/__init__.py +0 -0
  594. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/queries/annotations/legacy.py +0 -0
  595. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/queries/sanity/__init_.py +0 -0
  596. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/renames.yml +0 -0
  597. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/root_urls.py +0 -0
  598. {endoreg_db-0.8.2/endoreg_db/utils/case_generator → endoreg_db-0.8.2.2/endoreg_db/schemas}/__init__.py +0 -0
  599. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/schemas/examination_evaluation.py +0 -0
  600. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/Frames_NICE_and_PARIS_classifications.py +0 -0
  601. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/__init__.py +0 -0
  602. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/_old/raw_pdf_meta_validation.py +0 -0
  603. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/_old/raw_video_meta_validation.py +0 -0
  604. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/_old/video.py +0 -0
  605. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/administration/__init__.py +0 -0
  606. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/administration/ai/__init__.py +0 -0
  607. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/administration/ai/active_model.py +0 -0
  608. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/administration/ai/ai_model.py +0 -0
  609. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/administration/ai/model_type.py +0 -0
  610. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/administration/center.py +0 -0
  611. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/administration/gender.py +0 -0
  612. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/anonymization.py +0 -0
  613. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/evaluation/examination_evaluation.py +0 -0
  614. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/examination/__init__.py +0 -0
  615. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/examination/base.py +0 -0
  616. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/examination/dropdown.py +0 -0
  617. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/examination_serializer.py +0 -0
  618. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/finding/__init__.py +0 -0
  619. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/finding/finding.py +0 -0
  620. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/finding_classification/__init__.py +0 -0
  621. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/finding_classification/choice.py +0 -0
  622. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/finding_classification/classification.py +0 -0
  623. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/label/__init__.py +0 -0
  624. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/label/image_classification_annotation.py +0 -0
  625. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/label/label.py +0 -0
  626. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/label_video_segment/__init__.py +0 -0
  627. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/label_video_segment/_lvs_create.py +0 -0
  628. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/label_video_segment/_lvs_update.py +0 -0
  629. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/label_video_segment/_lvs_validate.py +0 -0
  630. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/label_video_segment/label_video_segment.py +0 -0
  631. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/label_video_segment/label_video_segment_annotation.py +0 -0
  632. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/label_video_segment/label_video_segment_update.py +0 -0
  633. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/meta/__init__.py +0 -0
  634. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/meta/pdf_file_meta_extraction.py +0 -0
  635. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/meta/report_meta.py +0 -0
  636. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/meta/sensitive_meta_detail.py +0 -0
  637. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/meta/sensitive_meta_update.py +0 -0
  638. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/meta/sensitive_meta_verification.py +0 -0
  639. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/meta/video_meta.py +0 -0
  640. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/misc/__init__.py +0 -0
  641. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/misc/file_overview.py +0 -0
  642. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/misc/stats.py +0 -0
  643. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/misc/translatable_field_mix_in.py +0 -0
  644. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/misc/upload_job.py +0 -0
  645. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/misc/vop_patient_data.py +0 -0
  646. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/patient/__init__.py +0 -0
  647. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/patient/patient.py +0 -0
  648. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/patient/patient_dropdown.py +0 -0
  649. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/patient_examination/__init__.py +0 -0
  650. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/patient_examination/patient_examination.py +0 -0
  651. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/patient_finding/__init__.py +0 -0
  652. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/patient_finding/patient_finding.py +0 -0
  653. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/patient_finding/patient_finding_classification.py +0 -0
  654. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/patient_finding/patient_finding_detail.py +0 -0
  655. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/patient_finding/patient_finding_intervention.py +0 -0
  656. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/patient_finding/patient_finding_list.py +0 -0
  657. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/patient_finding/patient_finding_write.py +0 -0
  658. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/pdf/__init__.py +0 -0
  659. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/pdf/anony_text_validation.py +0 -0
  660. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/report/__init__.py +0 -0
  661. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/report/mixins.py +0 -0
  662. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/report/report.py +0 -0
  663. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/report/report_list.py +0 -0
  664. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/report/secure_file_url.py +0 -0
  665. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/requirements/requirement_schema.py +0 -0
  666. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/requirements/requirement_sets.py +0 -0
  667. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/sensitive_meta_serializer.py +0 -0
  668. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/video/__init__.py +0 -0
  669. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/video/segmentation.py +0 -0
  670. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/video/video_file_brief.py +0 -0
  671. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/video/video_file_detail.py +0 -0
  672. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/video/video_file_list.py +0 -0
  673. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/video/video_metadata.py +0 -0
  674. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/serializers/video/video_processing_history.py +0 -0
  675. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/services/__init__.py +0 -0
  676. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/services/anonymization.py +0 -0
  677. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/services/examination_evaluation.py +0 -0
  678. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/services/finding_description_service.py +0 -0
  679. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/services/lookup_service.py +0 -0
  680. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/services/lookup_store.py +0 -0
  681. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/services/polling_coordinator.py +0 -0
  682. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/services/requirements_object.py +0 -0
  683. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/services/segment_sync.py +0 -0
  684. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/services/storage_aware_video_processor.py +0 -0
  685. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/tasks/upload_tasks.py +0 -0
  686. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/tasks/video_ingest.py +0 -0
  687. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/tasks/video_processing_tasks.py +0 -0
  688. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/templates/admin/patient_finding_intervention.html +0 -0
  689. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/templates/admin/start_examination.html +0 -0
  690. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/templates/timeline.html +0 -0
  691. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/urls/__init__.py +0 -0
  692. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/urls/anonymization.py +0 -0
  693. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/urls/auth.py +0 -0
  694. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/urls/classification.py +0 -0
  695. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/urls/examination.py +0 -0
  696. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/urls/files.py +0 -0
  697. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/urls/label_video_segment_validate.py +0 -0
  698. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/urls/label_video_segments.py +0 -0
  699. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/urls/media.py +0 -0
  700. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/urls/patient.py +0 -0
  701. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/urls/report.py +0 -0
  702. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/urls/requirements.py +0 -0
  703. /endoreg_db-0.8.2/endoreg_db/utils/links/__init__.py → /endoreg_db-0.8.2.2/endoreg_db/urls/sensitive_meta.py +0 -0
  704. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/urls/stats.py +0 -0
  705. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/urls/upload.py +0 -0
  706. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/urls/video.py +0 -0
  707. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/urls.py +0 -0
  708. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/utils/__init__.py +0 -0
  709. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/utils/ai/__init__.py +0 -0
  710. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/utils/ai/get.py +0 -0
  711. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/utils/ai/inference_dataset.py +0 -0
  712. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/utils/ai/multilabel_classification_net.py +0 -0
  713. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/utils/ai/postprocess.py +0 -0
  714. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/utils/ai/predict.py +0 -0
  715. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/utils/ai/preprocess.py +0 -0
  716. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/utils/calc_duration_seconds.py +0 -0
  717. {endoreg_db-0.8.2/endoreg_db/utils/pipelines → endoreg_db-0.8.2.2/endoreg_db/utils/case_generator}/__init__.py +0 -0
  718. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/utils/case_generator/case_generator.py +0 -0
  719. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/utils/case_generator/lab_sample_factory.py +0 -0
  720. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/utils/case_generator/utils.py +0 -0
  721. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/utils/check_video_files.py +0 -0
  722. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/utils/cropping.py +0 -0
  723. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/utils/dataloader.py +0 -0
  724. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/utils/dates.py +0 -0
  725. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/utils/env.py +0 -0
  726. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/utils/extract_specific_frames.py +0 -0
  727. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/utils/file_operations.py +0 -0
  728. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/utils/fix_video_path_direct.py +0 -0
  729. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/utils/frame_anonymization_utils.py +0 -0
  730. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/utils/hashs.py +0 -0
  731. {endoreg_db-0.8.2/endoreg_db/utils/product → endoreg_db-0.8.2.2/endoreg_db/utils/links}/__init__.py +0 -0
  732. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/utils/links/requirement_link.py +0 -0
  733. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/utils/mime_types.py +0 -0
  734. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/utils/names.py +0 -0
  735. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/utils/ocr.py +0 -0
  736. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/utils/parse_and_generate_yaml.py +0 -0
  737. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/utils/permissions.py +0 -0
  738. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/utils/pipelines/Readme.md +0 -0
  739. {endoreg_db-0.8.2/endoreg_db/utils/requirement_operator_logic → endoreg_db-0.8.2.2/endoreg_db/utils/pipelines}/__init__.py +0 -0
  740. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/utils/pipelines/process_video_dir.py +0 -0
  741. {endoreg_db-0.8.2/scripts → endoreg_db-0.8.2.2/endoreg_db/utils/product}/__init__.py +0 -0
  742. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/utils/product/sum_emissions.py +0 -0
  743. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/utils/product/sum_weights.py +0 -0
  744. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/utils/pydantic_models/__init__.py +0 -0
  745. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/utils/pydantic_models/db_config.py +0 -0
  746. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/utils/requirement_helpers.py +0 -0
  747. /endoreg_db-0.8.2/endoreg_db/views.py → /endoreg_db-0.8.2.2/endoreg_db/utils/requirement_operator_logic/__init__.py +0 -0
  748. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/utils/requirement_operator_logic/lab_value_operators.py +0 -0
  749. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/utils/requirement_operator_logic/model_evaluators.py +0 -0
  750. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/utils/translation.py +0 -0
  751. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/utils/uuid.py +0 -0
  752. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/utils/validate_endo_roi.py +0 -0
  753. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/utils/validate_subcategory_dict.py +0 -0
  754. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/utils/validate_video_detailed.py +0 -0
  755. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/utils/video/__init__.py +0 -0
  756. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/utils/video/extract_frames.py +0 -0
  757. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/utils/video/names.py +0 -0
  758. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/utils/video/streaming_processor.py +0 -0
  759. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/utils/video/video_splitter.py +0 -0
  760. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/Frames_NICE_and_PARIS_classifications_views.py +0 -0
  761. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/__init__.py +0 -0
  762. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/anonymization/__init__.py +0 -0
  763. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/anonymization/media_management.py +0 -0
  764. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/anonymization/overview.py +0 -0
  765. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/auth/__init__.py +0 -0
  766. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/auth/keycloak.py +0 -0
  767. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/examination/__init__.py +0 -0
  768. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/examination/examination.py +0 -0
  769. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/examination/examination_manifest_cache.py +0 -0
  770. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/examination/get_finding_classification_choices.py +0 -0
  771. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/examination/get_finding_classifications.py +0 -0
  772. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/examination/get_findings.py +0 -0
  773. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/examination/get_instruments.py +0 -0
  774. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/examination/get_interventions.py +0 -0
  775. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/finding/__init__.py +0 -0
  776. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/finding/finding.py +0 -0
  777. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/finding/get_classifications.py +0 -0
  778. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/finding/get_interventions.py +0 -0
  779. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/finding_classification/__init__.py +0 -0
  780. {endoreg_db-0.8.2/endoreg_db/views/patient_finding → endoreg_db-0.8.2.2/endoreg_db/views/finding_classification}/base.py +0 -0
  781. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/finding_classification/finding_classification.py +0 -0
  782. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/finding_classification/get_classification_choices.py +0 -0
  783. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/label/__init__.py +0 -0
  784. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/label/label.py +0 -0
  785. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/label_video_segment/__init__.py +0 -0
  786. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/label_video_segment/create_lvs_from_annotation.py +0 -0
  787. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/label_video_segment/get_lvs_by_name_and_video.py +0 -0
  788. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/label_video_segment/label_video_segment.py +0 -0
  789. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/label_video_segment/label_video_segment_by_label.py +0 -0
  790. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/label_video_segment/label_video_segment_detail.py +0 -0
  791. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/label_video_segment/update_lvs_from_annotation.py +0 -0
  792. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/label_video_segment/validate.py +0 -0
  793. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/media/__init__.py +0 -0
  794. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/media/pdf_media.py +0 -0
  795. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/media/segments.py +0 -0
  796. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/media/sensitive_metadata.py +0 -0
  797. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/media/video_media.py +0 -0
  798. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/media/video_segments.py +0 -0
  799. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/meta/__init__.py +0 -0
  800. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/meta/available_files_list.py +0 -0
  801. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/meta/report_meta.py +0 -0
  802. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/meta/sensitive_meta_detail.py +0 -0
  803. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/meta/sensitive_meta_list.py +0 -0
  804. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/meta/sensitive_meta_verification.py +0 -0
  805. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/misc/__init__.py +0 -0
  806. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/misc/center.py +0 -0
  807. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/misc/csrf.py +0 -0
  808. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/misc/gender.py +0 -0
  809. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/misc/secure_file_serving_view.py +0 -0
  810. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/misc/secure_file_url_view.py +0 -0
  811. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/misc/secure_url_validate.py +0 -0
  812. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/misc/stats.py +0 -0
  813. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/misc/translation.py +0 -0
  814. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/misc/upload_views.py +0 -0
  815. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/patient/__init__.py +0 -0
  816. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/patient/patient.py +0 -0
  817. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/patient_examination/DEPRECATED_video_backup.py +0 -0
  818. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/patient_examination/__init__.py +0 -0
  819. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/patient_examination/patient_examination.py +0 -0
  820. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/patient_examination/patient_examination_create.py +0 -0
  821. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/patient_examination/patient_examination_detail.py +0 -0
  822. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/patient_examination/patient_examination_list.py +0 -0
  823. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/patient_examination/video.py +0 -0
  824. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/patient_finding/__init__.py +0 -0
  825. /endoreg_db-0.8.2/endoreg_db/views/requirement_lookup/lookup.py → /endoreg_db-0.8.2.2/endoreg_db/views/patient_finding/base.py +0 -0
  826. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/patient_finding/patient_finding.py +0 -0
  827. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/patient_finding/patient_finding_optimized.py +0 -0
  828. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/patient_finding_classification/__init__.py +0 -0
  829. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/patient_finding_classification/pfc_create.py +0 -0
  830. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/patient_finding_location/__init__.py +0 -0
  831. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/patient_finding_location/pfl_create.py +0 -0
  832. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/patient_finding_morphology/__init__.py +0 -0
  833. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/patient_finding_morphology/pfm_create.py +0 -0
  834. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/pdf/__init__.py +0 -0
  835. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/pdf/pdf_media.py +0 -0
  836. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/pdf/pdf_stream_views.py +0 -0
  837. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/pdf/reimport.py +0 -0
  838. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/report/__init__.py +0 -0
  839. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/report/report_list.py +0 -0
  840. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/report/report_with_secure_url.py +0 -0
  841. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/report/start_examination.py +0 -0
  842. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/requirement/__init__.py +0 -0
  843. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/requirement/evaluate.py +0 -0
  844. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/requirement/lookup.py +0 -0
  845. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/requirement/lookup_store.py +0 -0
  846. /endoreg_db-0.8.2/endoreg_db/views/requirement_lookup/lookup_store.py → /endoreg_db-0.8.2.2/endoreg_db/views/requirement_lookup/lookup.py +0 -0
  847. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/stats/__init__.py +0 -0
  848. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/stats/stats_views.py +0 -0
  849. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/video/__init__.py +0 -0
  850. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/video/reimport.py +0 -0
  851. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/video/segmentation.py +0 -0
  852. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/video/task_status.py +0 -0
  853. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/video/timeline.py +0 -0
  854. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/video/video_analyze.py +0 -0
  855. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/video/video_apply_mask.py +0 -0
  856. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/video/video_correction.py +0 -0
  857. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/video/video_download_processed.py +0 -0
  858. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/video/video_examination_viewset.py +0 -0
  859. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/video/video_media.py +0 -0
  860. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/video/video_meta.py +0 -0
  861. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/video/video_processing_history.py +0 -0
  862. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/video/video_remove_frames.py +0 -0
  863. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/video/video_reprocess.py +0 -0
  864. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/endoreg_db/views/video/video_stream.py +0 -0
  865. /endoreg_db-0.8.2/endoreg_db/views/finding_classification/base.py → /endoreg_db-0.8.2.2/endoreg_db/views.py +0 -0
  866. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/env_setup.py +0 -0
  867. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/export_db.sh +0 -0
  868. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/hello.py +0 -0
  869. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/import_db.sh +0 -0
  870. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/install_dependencies.py +0 -0
  871. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/logger_conf.py +0 -0
  872. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/manage.py +0 -0
  873. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/models_table.csv +0 -0
  874. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/models_table.tsv +0 -0
  875. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/report_reader +0 -0
  876. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/requirements-cpu.txt +0 -0
  877. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/requirements-gpu.txt +0 -0
  878. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/ruff.toml +0 -0
  879. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/runtests.py +0 -0
  880. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/scripts/demo_frame_cleaning.py +0 -0
  881. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/scripts/django_setup.py +0 -0
  882. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/scripts/make_conf.py +0 -0
  883. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/scripts/models_table.py +0 -0
  884. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/scripts/requirement_dev.py +0 -0
  885. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/scripts/test_performance_demo.py +0 -0
  886. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/scripts/video_splitter.py +0 -0
  887. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/test_asset_deletion_debug.py +0 -0
  888. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/trace_video_deletion.py +0 -0
  889. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/translation.py +0 -0
  890. {endoreg_db-0.8.2 → endoreg_db-0.8.2.2}/wsgi.py +0 -0
@@ -10,7 +10,7 @@ TIME_ZONE=Europe/Berlin
10
10
  # -------------------------------------------------------------------
11
11
  # Paths (relative to repo root unless absolute)
12
12
  # -------------------------------------------------------------------
13
- STORAGE_DIR=storage
13
+ STORAGE_DIR=data/storage
14
14
  ASSET_DIR=tests/assets
15
15
  STATIC_URL=/static/
16
16
  MEDIA_URL=/media/
@@ -86,4 +86,14 @@ TEST_RUN_FRAME_NUMBER=1000
86
86
  RUST_BACKTRACE=1
87
87
  DJANGO_FFMPEG_EXTRACT_FRAME_BATCHSIZE=500
88
88
  VIDEO_ALLOW_FPS_FALLBACK=True
89
- VIDEO_DEFAULT_FPS=50
89
+ VIDEO_DEFAULT_FPS=50
90
+
91
+ # Caching optimization for huggingface, ollama, etc.
92
+ # CAUTION: SETUP ASSUMES LUXNIX USER 'admin' WITH HOME /home/admin
93
+
94
+ HF_HOME=/home/admin/.cache/huggingface
95
+ HF_HUB_CACHE=/home/admin/.cache/huggingface/hub
96
+ HF_HUB_ENABLE_HF_TRANSFER=1
97
+ OLLAMA_KEEP_ALIVE=4h
98
+ OLLAMA_MODELS=/home/admin/.ollama/models
99
+ TRANSFORMERS_CACHE=/home/admin/.cache/huggingface/hub
@@ -0,0 +1 @@
1
+ gitdir: ../../.git/modules/libs/endoreg-db
@@ -0,0 +1,39 @@
1
+ ## Big Picture
2
+ - **Core app**: Django project lives in `endoreg_db/`, `config/settings/*` drive environments via `endoreg_db.config.env`; root URLs mount the entire API under `/api/`.
3
+ - **Domain**: Focus on ingesting and anonymizing endoscopy videos and clinical reports; `services/video_import.py` handles the full pipeline, mirrored by management commands for CLI workflows.
4
+ - **Data layout**: Working assets stay under `storage/` (media root) and `data/` (raw/test fixtures); `endoreg_db/utils/paths.py` centralizes directories—respect existing folder contracts when writing files.
5
+ - **Knowledge base**: Medical vocabularies live in YAML under `endoreg_db/data/`; management commands in `endoreg_db/management/commands/load_*` hydrate models from those files—keep YAML schema changes aligned with the commands.
6
+ - **Async flows**: `celery_app.py` wires Celery but operational imports use Redis Queue (`endoreg_db/tasks/video_ingest.py`); align new background work with that queue unless migrating everything to Celery.
7
+
8
+ ## Environment & Tooling
9
+ - **Platform baseline**: Most development happens on NixOS; run `devenv up` (or allow via `direnv`) before any command so the pinned toolchain and `uv` environment from `devenv.nix` activate.
10
+ - **Dev shell**: Once inside the shell, use `devenv task run env:build` to refresh `.env` via `env_setup.py`; the task relies on `.devenv-vars.json` generated during shell entry.
11
+ - **Python entry**: Always call `uv run ...` (e.g. `uv run python manage.py migrate`) so dependencies resolve inside `.devenv/state/venv`.
12
+ - **Settings switch**: `DJANGO_SETTINGS_MODULE` defaults to `config.settings.dev`; tests use `config.settings.test` which persists an SQLite DB at `data/tests/db/test_db.sqlite3`.
13
+ - **External repos**: LX anonymizer support is expected (`lx-anonymizer>=0.8.2.1`); the Nix enter hook can clone it—check this before debugging anonymization failures.
14
+
15
+ ## Testing
16
+ - **Test runner**: Prefer `uv run python runtests.py` to execute curated suites; arguments map to subpackages under `tests/` (e.g. `runtests helpers`).
17
+ - **Pytest direct**: For ad-hoc cases run `uv run pytest tests/path::TestClass -k keyword`; `pytest.ini` already points at the Django settings.
18
+ - **Video guards**: GPU/ffmpeg-heavy specs are behind `RUN_VIDEO_TESTS`; default false—set `RUN_VIDEO_TESTS=true` when required assets in `tests/assets/` are available.
19
+ - **Fixtures**: `tests/conftest.py` configures storage dirs and shared fixtures; extend `endoreg_db/factories/` instead of hand-building ORM objects in tests.
20
+
21
+ ## Data & Management Commands
22
+ - **Database seed**: `load_base_db_data` (and other `load_*` commands) populate clinical taxonomies from CSVs under `data/` and `models_table.*`.
23
+ - **Knowledge YAML**: Commands like `load_disease_data`, `load_finding_data`, etc. expect curated YAML in `endoreg_db/data/`; keep keys stable and update factories/tests when the YAML schema shifts.
24
+ - **Import scripts**: Video/report ingestion commands delegate to `services/video_import.py` and `services/pdf_import.py`; reuse the service layer when adding new commands.
25
+ - **Backups**: `export_db.sh` and `import_db.sh` wrap Django `dumpdata/loaddata`—update them instead of reinventing backup flows.
26
+ - **Paths**: `env_setup.py` writes `STORAGE_DIR` into `.env`; new code should resolve paths via `endoreg_db.utils.data_paths` or `config.env_path` to stay relocatable.
27
+
28
+ ## API & Presentation
29
+ - **Routing**: `endoreg_db/root_urls.py` includes `endoreg_db/urls/`; keep new REST endpoints inside `endoreg_db/api/views` + serializers and register them in `api_urls.py`.
30
+ - **Translations**: `django-modeltranslation` is preloaded (languages `de`/`en`); text fields need `TranslationOptions` under `endoreg_db/models/**/translation*.py`.
31
+ - **Forms/Admin**: Custom admin and form logic lives in `endoreg_db/admin.py` and `endoreg_db/forms/`; follow existing Bootstrap 5 widgets in `endoreg_db/templates/`.
32
+ - **Security**: Sensitive metadata models in `endoreg_db/models/metadata/` use state objects—preserve their transitions (see `VideoImportService._process_frames_and_metadata`).
33
+
34
+ ## Observability & Utilities
35
+ - **Logging**: `config/settings/base.py` defines `TEST_LOGGER_NAMES`; use `logging.getLogger(__name__)` so unit tests capture module-level logs consistently.
36
+ - **Pipelines**: `endoreg_db/utils/pipelines/process_video_dir.py` shows the orchestration pattern—refresh model state after `pipe_1/pipe_2` and reuse its helpers for batch jobs.
37
+ - **Permissions**: Storage-aware helpers live in `endoreg_db/utils/permissions.py` and related services—reuse them instead of manual `os.path` checks.
38
+ - **Path hygiene**: File movement bugs usually stem from bypassing `endoreg_db.utils.paths` or `endoreg_db.config.env`; always derive locations from `data_paths[...]`/`env_path(...)` so raw/anonymized video & PDF paths stay consistent.
39
+ - **RQ usage**: Enqueue jobs via `endoreg_db/tasks/video_ingest.enqueue_video_import`; ensure `RQ_REDIS_URL` is configured and Django is initialized before background execution.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: endoreg-db
3
- Version: 0.8.2
3
+ Version: 0.8.2.2
4
4
  Summary: EndoReg Db Django App
5
5
  Project-URL: Homepage, https://info.coloreg.de
6
6
  Project-URL: Repository, https://github.com/wg-lux/endoreg-db
@@ -33,7 +33,7 @@ Requires-Dist: gunicorn>=23.0.0
33
33
  Requires-Dist: icecream>=2.1.4
34
34
  Requires-Dist: librosa==0.11.0
35
35
  Requires-Dist: llvmlite>=0.44.0
36
- Requires-Dist: lx-anonymizer[llm,ocr]>=0.8.2
36
+ Requires-Dist: lx-anonymizer[llm,ocr]>=0.8.2.2
37
37
  Requires-Dist: moviepy==2.2.1
38
38
  Requires-Dist: mypy>=1.16.0
39
39
  Requires-Dist: numpy>=2.2.3
@@ -23,7 +23,6 @@ let
23
23
 
24
24
  buildInputs = with pkgs; [
25
25
  python312
26
- python312Packages.tkinter
27
26
  stdenv.cc.cc
28
27
  tesseract
29
28
  glib
@@ -37,7 +36,6 @@ let
37
36
  runtimePackages = with pkgs; [
38
37
  stdenv.cc.cc
39
38
  ffmpeg-headless.bin
40
- python312Packages.tkinter
41
39
  tesseract
42
40
  uvPackage
43
41
  libglvnd # Add libglvnd for libGL.so.1
@@ -48,16 +46,16 @@ let
48
46
 
49
47
  _module.args.buildInputs = baseBuildInputs;
50
48
 
51
- lx-anonymizer-src = pkgs.fetchGit {
52
- url = "https://github.com/wg-lux/lx-anonymizer";
53
- ref = "prototype";
54
- # If you know the specific revision, it's better to use rev for reproducibility
55
- # rev = "abcdef1234567890";
56
- };
49
+ # lx-anonymizer-src = pkgs.fetchGit {
50
+ # url = "https://github.com/wg-lux/lx-anonymizer";
51
+ # ref = "prototype";
52
+ # # If you know the specific revision, it's better to use rev for reproducibility
53
+ # # rev = "abcdef1234567890";
54
+ # };
57
55
 
58
- imports = [
59
- "${lx-anonymizer-src}/devenv.nix"
60
- ];
56
+ # imports = [
57
+ # "${lx-anonymizer-src}/devenv.nix"
58
+ # ];
61
59
 
62
60
  in
63
61
  {
@@ -0,0 +1,58 @@
1
+ # Test Suite Standardization Blueprint (Draft)
2
+
3
+ _Date: 2025-10-18_
4
+
5
+ ## Goals
6
+ - Consistent test layout and naming across all domains.
7
+ - Predictable fixture hierarchy that makes scope explicit and minimises global state.
8
+ - Single cache interface with explicit lifecycle for expensive resources (DB seeds, video assets, ML models).
9
+ - Clear integration guidance for new tests and suites.
10
+
11
+ ## Directory & Naming Conventions
12
+ - **Top-level folders:** maintain domain grouping (`tests/<domain>/`) but enforce suffixes: `test_*.py` files only.
13
+ - **Class naming:** use `Test<Subject>` for unit-style suites, `<Feature>Tests` reserved for integration/system cases.
14
+ - **Function naming:** `test_<scenario>_<expected>` pattern; leverage parametrization for variant coverage instead of bespoke fixtures.
15
+ - **Helper modules:** move shared builders/factories under `tests/helpers/` with explicit exports through `__all__`.
16
+
17
+ ## Fixture Hierarchy
18
+ - **Session scope (`conftest.py` or plugin):**
19
+ - `base_data`: loads taxonomy/seed data exactly once, returns immutable context object.
20
+ - `cache`: provides namespaced cache manager (see Caching Layer) with `get/set/clear` API.
21
+ - `env_settings`: applies test-specific overrides (MEDIA_ROOT, Celery eager) in a context manager.
22
+ - **Module scope:** domain-specific heavy resources (e.g., processed video file) keyed via cache fixture to avoid duplication.
23
+ - **Function scope:** lightweight factories, API clients, data builders; avoid mutating session objects directly.
24
+ - Use `pytest_plugins = ["tests.plugins.cache", "tests.plugins.fixtures"]` to centralise definitions.
25
+
26
+ ## Parametrization & Markers
27
+ - Prefer `@pytest.mark.parametrize` over hand-written loops.
28
+ - Define common markers: `slow`, `video`, `integration`, `requires_gpu`. Document skip conditions in `pytest.ini`.
29
+ - Implement marker-aware skip logic in fixtures rather than environment variable spaghetti.
30
+
31
+ ## Caching Layer Design
32
+ - Introduce `tests/plugins/cache.py` defining a `CacheManager` with:
33
+ - `get(namespace, key, default=None)` / `set(namespace, key, value)` APIs.
34
+ - Lazy initialisation backed by `functools.lru_cache` for in-memory usage plus optional `diskcache` fallback if available.
35
+ - `invalidate(namespace, key=None)` hooks invoked via pytest `request.addfinalizer` to avoid cross-test leaks.
36
+ - Session-scoped `cache` fixture returns a manager instance; module/functional fixtures request namespaces (`cache.namespace("video")`).
37
+ - Provide helper `cache.memoize(namespace)` decorator to wrap expensive factory functions (e.g., processed video creation).
38
+ - Replace module-level globals (`_base_data_loaded`, `_session_video_file`) by storing state under deterministic keys, e.g. `cache.set("video", "processed_default", value)`.
39
+ - Emit debug logging when cache hits/misses occur during `-vv` runs to aid troubleshooting.
40
+
41
+ ## Documentation & Governance
42
+ - Document expectations in `docs/testing/TEST_GUIDELINES.md` (to be created).
43
+ - Add pre-commit lint to fail if non-conforming test module names detected.
44
+ - Establish codeowners for `tests/` to review adherence.
45
+
46
+ ## Next Steps
47
+ 1. Implement prototype cache manager and fixtures (Step 3 of action plan).
48
+ - Create `tests/plugins/cache.py` and `tests/plugins/__init__.py` exporting `pytest_plugins`.
49
+ - Update `pytest.ini` to register default markers (`slow`, `video`, `integration`, `requires_gpu`).
50
+ - Refactor `tests/conftest.py` to consume the new `cache` fixture and remove global caches.
51
+ 2. Migrate `tests/media/video` to new fixture hierarchy as pilot (Step 4).
52
+ - Introduce module-scoped fixtures leveraging `cache.namespace("video")` and ensure cleanup via invalidation hooks.
53
+ - Wire helper modules such as `tests/helpers/optimized_video_fixtures.py` into dedicated namespaces via `configure_cache` to eliminate legacy globals.
54
+ - ✅ Segment CRUD suite now runs against a lightweight cached video stub; validate similar patterns for services tests next.
55
+ - ✅ Base data loader now provisions stub AI model metadata (behind `USE_STUB_MODEL_META=true`) so `load_default_ai_model` no longer copies large checkpoints during fast suites.
56
+ - Current end-to-end runtime still ~660 s; profile durations to locate the next hotspots.
57
+ - Measure runtime improvements and document findings in `docs/testing/TEST_GUIDELINES.md`.
58
+ 3. Update developer guide with blueprint summary once pilot validated.
@@ -0,0 +1,31 @@
1
+ # Test Suite Review (2025-10-18)
2
+
3
+ ## Module Inventory Snapshot
4
+ - `tests/administration/*`: CRUD/admin scenarios for centers, shifts, qualifications.
5
+ - `tests/assets/*`: Large artefact fixtures (models, JSON) consumed by video/import suites.
6
+ - `tests/dataloader/test_dataloader.py`: Exercises custom dataset ingestion helpers.
7
+ - `tests/environment/test_env.py`: Validates env wiring and settings overrides.
8
+ - `tests/examination/*`: Domain tests for examination models and serializers.
9
+ - `tests/fileserver/*`: Covers WhiteNoise static file handling.
10
+ - `tests/finding/*`: Disease/finding taxonomy loading and serializer behaviour.
11
+ - `tests/helpers/*`: Fixture factories plus integration smoke tests for helper modules.
12
+ - `tests/legacy/*`: Regression coverage for legacy data migration utilities.
13
+ - `tests/media/video/*`: Heavy video import/anonymization flows (long runtime, GPU/ffmpeg dependencies).
14
+ - `tests/models/*`: ORM and state machine regression coverage.
15
+ - `tests/pipelines/*`: Orchestration pipelines and process directory flows.
16
+ - `tests/requirement/*`: Requirement rule matrix validation; high combinatorial count.
17
+ - `tests/services/*`: Service-layer orchestration smoke tests (RQ, anonymizer, imports).
18
+
19
+ ## Shared Fixture & Caching Landscape
20
+ - `tests/conftest.py` defines global caches (`_session_cache`, `_session_video_file`, `_base_data_loaded`) implemented via module-level globals; invalidation is implicit and hard to reason about during parametrised runs.
21
+ - Base taxonomy loaders (`load_*`) execute inside `base_db_data` fixture with a function scope guard backed by `global _base_data_loaded`, mixing fixture scopes and custom caching.
22
+ - Video fixtures (`sample_video_file`, `processed_video_file`) key off environment flags (`RUN_VIDEO_TESTS`, `SKIP_EXPENSIVE_TESTS`) with ad-hoc globals; repeated suite invocations in the same process can leak cached state.
23
+ - Session-level DB optimisations (`optimize_database_queries`) execute per-test (autouse) rather than establishing a single shared connection configuration.
24
+ - `_session_cache` remains unused across the suite, and several modules re-create expensive assets (e.g., YAML loads, JSON fixtures) without a shared cache hook.
25
+
26
+ ## Pain Points Observed During Full-Suite Runs
27
+ - Environment flag handling (`RUN_VIDEO_TESTS`) is inconsistent: default expression evaluates to `False` even when explicitly enabling, leading to skipped media tests locally but executed in CI.
28
+ - Global caches are not namespaced by test parameters; when parametrised tests mutate cached video objects, downstream tests see dirty state, causing non-deterministic failures in full runs.
29
+ - Multiple suites duplicate fixture logic (e.g., default center/processor creation) instead of relying on `tests.helpers.default_objects`, increasing setup time and risking drift.
30
+ - Several long-running suites (`tests/media/video`, `tests/pipelines`) hit the filesystem repeatedly because cached paths live outside a central storage coordinator; temp directories are re-created per module.
31
+ - Lack of a documented test layout encourages bespoke fixtures per module, making it difficult to standardise teardown behaviour and to introduce suite-wide caching.
@@ -1,4 +1,5 @@
1
1
  import random
2
+ from typing import Optional
2
3
  from endoreg_db.models import (
3
4
  Center,
4
5
  Gender,
@@ -17,6 +18,7 @@ import shutil
17
18
  from pathlib import Path
18
19
  from django.conf import settings # Import settings
19
20
  from django.core.files.storage import default_storage # Import default storage
21
+ from django.db.models.fields.files import FieldFile
20
22
 
21
23
  from endoreg_db.utils import (
22
24
  create_mock_patient_name,
@@ -44,6 +46,10 @@ DEFAULT_INDICATIONS = [
44
46
  DEFAULT_SEGMENTATION_MODEL_NAME = "image_multilabel_classification_colonoscopy_default"
45
47
 
46
48
  DEFAULT_GENDER = "unknown"
49
+ DEFAULT_PATIENT_FIRST_NAME = "TestFirst"
50
+ DEFAULT_PATIENT_LAST_NAME = "TestLast"
51
+ DEFAULT_PATIENT_GENDER_NAME = "female"
52
+ DEFAULT_PATIENT_BIRTH_DATE = date(1970, 1, 1)
47
53
 
48
54
  def get_information_source_prediction():
49
55
  """
@@ -170,33 +176,41 @@ def get_default_center() -> Center:
170
176
  return center
171
177
 
172
178
  def generate_patient(**kwargs) -> Patient:
173
- """
174
- Creates a Patient instance with randomized or specified attributes.
175
-
176
- Randomly generates first name, last name, date of birth, gender, and center for the patient unless overridden by keyword arguments. Raises ValueError if the provided gender is invalid.
177
-
178
- Args:
179
- **kwargs: Optional overrides for patient attributes such as 'first_name', 'last_name', 'birth_date', 'gender', and 'center'.
180
-
181
- Returns:
182
- A Patient instance with the specified or randomly generated attributes.
183
- """
184
- # Set default values
185
- gender = kwargs.get("gender", get_random_gender())
186
- if not isinstance(gender, Gender):
179
+ """Create a Patient with deterministic defaults unless ``randomize=True`` is supplied."""
180
+
181
+ randomize = kwargs.pop("randomize", False)
182
+
183
+ gender = kwargs.get("gender")
184
+ if gender is None:
185
+ if randomize:
186
+ gender = get_random_gender()
187
+ else:
188
+ gender = Gender.objects.get(name=DEFAULT_PATIENT_GENDER_NAME)
189
+ elif not isinstance(gender, Gender):
187
190
  gender = Gender.objects.get(name=gender)
188
191
 
189
- if not isinstance(gender, Gender):
190
- raise ValueError("No Gender Found")
191
- first_name, last_name = create_mock_patient_name(gender = gender.name)
192
- first_name = kwargs.get("first_name", first_name)
193
- last_name = kwargs.get("last_name", last_name)
194
- birth_date = kwargs.get("birth_date", "1970-01-01")
195
- dob = date.fromisoformat(birth_date)
196
- center = kwargs.get("center", None)
192
+ first_name = kwargs.get("first_name")
193
+ last_name = kwargs.get("last_name")
194
+ if first_name is None or last_name is None:
195
+ if randomize:
196
+ generated_first, generated_last = create_mock_patient_name(gender=gender.name)
197
+ else:
198
+ generated_first, generated_last = DEFAULT_PATIENT_FIRST_NAME, DEFAULT_PATIENT_LAST_NAME
199
+ first_name = first_name or generated_first
200
+ last_name = last_name or generated_last
201
+
202
+ dob = kwargs.get("dob")
203
+ if dob is None:
204
+ birth_date = kwargs.get("birth_date", DEFAULT_PATIENT_BIRTH_DATE)
205
+ if isinstance(birth_date, date):
206
+ dob = birth_date
207
+ else:
208
+ dob = date.fromisoformat(str(birth_date))
209
+
210
+ center = kwargs.get("center")
197
211
  if center is None:
198
212
  center = get_default_center()
199
- else:
213
+ elif not isinstance(center, Center):
200
214
  center = Center.objects.get(name=center)
201
215
 
202
216
  patient = Patient(
@@ -261,6 +275,7 @@ def get_default_egd_pdf():
261
275
  shutil.copy(egd_path, temp_file_path)
262
276
 
263
277
  pdf_file = None
278
+ file_field: Optional[FieldFile] = None
264
279
  try:
265
280
  # Create the PDF record using the temporary file.
266
281
  # delete_source=True will ensure temp_file_path is deleted by create_from_file
@@ -275,8 +290,11 @@ def get_default_egd_pdf():
275
290
  raise RuntimeError("Failed to create PDF file object")
276
291
 
277
292
  # Use storage API to check existence
278
- if not default_storage.exists(pdf_file.file.path):
279
- raise RuntimeError(f"PDF file does not exist in storage at {pdf_file.file.path}")
293
+ file_field = pdf_file.file
294
+ if not isinstance(file_field, FieldFile):
295
+ raise RuntimeError("RawPdfFile.file did not return a FieldFile instance")
296
+ if not default_storage.exists(file_field.path):
297
+ raise RuntimeError(f"PDF file does not exist in storage at {file_field.path}")
280
298
 
281
299
  # Check that the source temp file was deleted
282
300
  if temp_file_path.exists():
@@ -308,10 +326,11 @@ def get_default_egd_pdf():
308
326
 
309
327
  # pdf_file.file.path might fail if storage doesn't support direct paths (like S3)
310
328
  # Prefer using storage API for checks. Logging path if available.
311
- try:
312
- logger.info(f"PDF file created: {pdf_file.file.name}, Path: {pdf_file.file.path}")
313
- except NotImplementedError:
314
- logger.info(f"PDF file created: {pdf_file.file.name}, Path: (Not available from storage)")
329
+ if file_field is not None:
330
+ try:
331
+ logger.info(f"PDF file created: {file_field.name}, Path: {file_field.path}")
332
+ except NotImplementedError:
333
+ logger.info(f"PDF file created: {file_field.name}, Path: (Not available from storage)")
315
334
 
316
335
 
317
336
  return pdf_file
@@ -294,10 +294,12 @@ class Command(BaseCommand):
294
294
 
295
295
  # Updated to handle new return signature (path, metadata)
296
296
  cleaned_video_path, extracted_metadata = frame_cleaner.clean_video(
297
- Path(video_file_obj.raw_file.path),
297
+ video_path=Path(video_file_obj.raw_file.path),
298
298
  video_file_obj=video_file_obj, # Pass VideoFile object to store metadata
299
- report_reader=report_reader,
300
- device_name=processor_name
299
+ device_name=processor_name,
300
+ endoscope_roi=video_file_obj.processor.get_roi_endoscope_image if video_file_obj.processor else None,
301
+ output_path=video_file_obj.get_processed_file_path(),
302
+ technique="mask_overlay" # Use mask overlay technique as default, if not set this will be inferred.
301
303
  )
302
304
 
303
305
  # Save the cleaned video using Django's FileField
@@ -0,0 +1,30 @@
1
+ from django.db import migrations, models
2
+
3
+
4
+ def populate_display_name(apps, schema_editor):
5
+ Center = apps.get_model('endoreg_db', 'Center')
6
+ for center in Center.objects.all():
7
+ if not center.display_name:
8
+ center.display_name = center.name
9
+ center.save(update_fields=['display_name'])
10
+
11
+
12
+ def reset_display_name(apps, schema_editor):
13
+ Center = apps.get_model('endoreg_db', 'Center')
14
+ Center.objects.update(display_name='')
15
+
16
+
17
+ class Migration(migrations.Migration):
18
+
19
+ dependencies = [
20
+ ('endoreg_db', '0002_add_video_correction_models'),
21
+ ]
22
+
23
+ operations = [
24
+ migrations.AddField(
25
+ model_name='center',
26
+ name='display_name',
27
+ field=models.CharField(blank=True, default='', max_length=255),
28
+ ),
29
+ migrations.RunPython(populate_display_name, reset_display_name),
30
+ ]
@@ -19,6 +19,7 @@ class Center(models.Model):
19
19
 
20
20
  # import_id = models.IntegerField(primary_key=True)
21
21
  name = models.CharField(max_length=255)
22
+ display_name = models.CharField(max_length=255, blank=True, default="")
22
23
 
23
24
  first_names = models.ManyToManyField(
24
25
  to="FirstName",
@@ -45,8 +46,13 @@ class Center(models.Model):
45
46
  def natural_key(self) -> tuple[str]:
46
47
  return (self.name,)
47
48
 
49
+ def save(self, *args, **kwargs):
50
+ if not self.display_name:
51
+ self.display_name = self.name
52
+ super().save(*args, **kwargs)
53
+
48
54
  def __str__(self) -> str:
49
- return str(object=self.name)
55
+ return str(object=self.display_name or self.name)
50
56
 
51
57
  def get_first_names(self):
52
58
  return self.first_names.all()
@@ -383,37 +383,42 @@ class RawPdfFile(models.Model):
383
383
  new_file_name, _uuid = get_uuid_filename(file_path)
384
384
  logger.info(f"Generated new filename: {new_file_name}")
385
385
 
386
- # Create model instance (without file initially)
387
- raw_pdf = cls(
388
- pdf_hash=pdf_hash,
389
- center=center,
390
- )
391
-
392
- # Assign file using Django's File wrapper and save
386
+ # Create model instance via manager so creation can be intercepted/mocked during tests
393
387
  try:
394
388
  with file_path.open("rb") as f:
395
389
  django_file = File(f, name=new_file_name)
396
- raw_pdf.file = django_file # type: ignore # Assign the file object
397
- # Save the instance - Django storage handles the file copy/move
398
- raw_pdf.save()
399
- _file = raw_pdf.file
400
- assert _file is not None
401
- logger.info(f"Created and saved new RawPdfFile {raw_pdf.pk} with file {_file.name}")
402
-
403
- # Verify file exists in storage after save
404
- if not _file.storage.exists(_file.name):
405
- logger.error(f"File was not saved correctly to storage path {_file.name} after model save.")
406
- raise IOError(f"File not found at expected storage path after save: {_file.name}")
407
- # Log the absolute path for debugging if possible (depends on storage)
408
- try:
409
- logger.info(f"File saved to absolute path: {_file.path}")
410
- except NotImplementedError:
411
- logger.info(f"File saved to storage path: {_file.name} (Absolute path not available from storage)")
390
+ raw_pdf = cls.objects.create(
391
+ pdf_hash=pdf_hash,
392
+ center=center,
393
+ file=django_file,
394
+ )
395
+
396
+ _file = raw_pdf.file
397
+ assert _file is not None
398
+ logger.info(
399
+ "Created and saved new RawPdfFile %s with file %s", raw_pdf.pk, _file.name
400
+ )
401
+
402
+ if not _file.storage.exists(_file.name):
403
+ logger.error(
404
+ "File was not saved correctly to storage path %s after model save.",
405
+ _file.name,
406
+ )
407
+ raise IOError(
408
+ f"File not found at expected storage path after save: {_file.name}"
409
+ )
410
+
411
+ try:
412
+ logger.info("File saved to absolute path: %s", _file.path)
413
+ except NotImplementedError:
414
+ logger.info(
415
+ "File saved to storage path: %s (Absolute path not available from storage)",
416
+ _file.name,
417
+ )
412
418
 
413
419
  except Exception as e:
414
- logger.error(f"Error processing or saving file {file_path} for new record: {e}")
415
- # If save failed, the instance might be partially created but not fully saved.
416
- raise # Re-raise the exception
420
+ logger.error("Error processing or saving file %s for new record: %s", file_path, e)
421
+ raise
417
422
 
418
423
  # Delete source file *after* successful save and verification
419
424
  if delete_source:
@@ -6,7 +6,8 @@ from typing import TYPE_CHECKING, Optional, Type
6
6
 
7
7
  # Import the new exceptions from the correct path
8
8
  from endoreg_db.exceptions import InsufficientStorageError, TranscodingError
9
- from ...utils import VIDEO_DIR, TMP_VIDEO_DIR, data_paths
9
+ from ...utils import VIDEO_DIR, TMP_VIDEO_DIR
10
+ from importlib import import_module
10
11
 
11
12
  if TYPE_CHECKING:
12
13
  from endoreg_db.models import VideoFile
@@ -170,6 +171,22 @@ def atomic_move_with_fallback(src_path: Path, dst_path: Path) -> bool:
170
171
  raise
171
172
 
172
173
 
174
+ def _get_data_paths():
175
+ """Return the current data_paths mapping (supports patched instances in tests)."""
176
+ utils_module = import_module("endoreg_db.utils")
177
+ return getattr(utils_module, "data_paths")
178
+
179
+
180
+ def _get_path(mapping, key, default):
181
+ """Access mapping by key using __getitem__ so MagicMocks with side effects work."""
182
+ if mapping is None:
183
+ return default
184
+ try:
185
+ return mapping[key]
186
+ except (KeyError, TypeError):
187
+ return default
188
+
189
+
173
190
  def _create_from_file(
174
191
  cls_model: Type["VideoFile"],
175
192
  file_path: Path,
@@ -199,8 +216,12 @@ def _create_from_file(
199
216
 
200
217
  try:
201
218
  # Ensure we operate under the canonical video path root
202
- video_dir = data_paths.get("video", video_dir)
203
- storage_root = Path(video_dir).parent
219
+ data_paths = _get_data_paths()
220
+ resolved_video_dir = _get_path(data_paths, "video", video_dir)
221
+ video_dir = Path(resolved_video_dir)
222
+ storage_root_default = Path(video_dir).parent
223
+ resolved_storage_root = _get_path(data_paths, "storage", storage_root_default)
224
+ storage_root = Path(resolved_storage_root)
204
225
  storage_root.mkdir(parents=True, exist_ok=True)
205
226
 
206
227
  # Check storage capacity before starting any work
@@ -300,7 +321,8 @@ def _create_from_file(
300
321
  # 8. Create the VideoFile instance
301
322
  logger.info("Creating new VideoFile instance with UUID: %s", uuid_val)
302
323
  # Store FileField path relative to storage root including the videos prefix
303
- relative_name = (final_storage_path.relative_to(data_paths['storage'])).as_posix()
324
+ storage_base = Path(_get_path(data_paths, "storage", final_storage_path.parent))
325
+ relative_name = (final_storage_path.relative_to(storage_base)).as_posix()
304
326
  video = cls_model(
305
327
  uuid=uuid_val,
306
328
  raw_file=relative_name,