endoreg-db 0.6.4__py3-none-any.whl → 0.8.2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of endoreg-db might be problematic. Click here for more details.
- endoreg_db/admin.py +26 -26
- endoreg_db/api_urls.py +4 -0
- endoreg_db/apps.py +12 -0
- endoreg_db/assets/dummy_model.ckpt +1 -0
- endoreg_db/codemods/readme.md +88 -0
- endoreg_db/codemods/rename_datetime_fields.py +92 -0
- endoreg_db/config/env.py +101 -0
- endoreg_db/data/__init__.py +12 -0
- endoreg_db/data/ai_model/data.yaml +1 -1
- endoreg_db/data/ai_model_label/label/polyp_classification.yaml +52 -0
- endoreg_db/data/ai_model_label/label-set/data.yaml +20 -1
- endoreg_db/data/ai_model_label/label-set/polyp_classifications.yaml +25 -0
- endoreg_db/data/center/data.yaml +13 -12
- endoreg_db/data/center_shift/ukw.yaml +9 -0
- endoreg_db/data/db_summary.csv +58 -0
- endoreg_db/data/db_summary.xlsx +0 -0
- endoreg_db/data/disease/misc.yaml +1 -2
- endoreg_db/data/endoscopy_processor/data.yaml +3 -0
- endoreg_db/data/event/cardiology.yaml +0 -13
- endoreg_db/data/examination/examinations/data.yaml +14 -9
- endoreg_db/data/examination_indication/endoscopy.yaml +30 -30
- endoreg_db/data/examination_indication_classification/endoscopy.yaml +11 -11
- endoreg_db/data/examination_requirement_set/colonoscopy.yaml +15 -0
- endoreg_db/data/finding/anatomy_colon.yaml +128 -0
- endoreg_db/data/finding/colonoscopy.yaml +40 -0
- endoreg_db/data/finding/colonoscopy_bowel_prep.yaml +56 -0
- endoreg_db/data/finding/complication.yaml +16 -0
- endoreg_db/data/finding/data.yaml +3 -46
- endoreg_db/data/finding/examination_setting.yaml +16 -0
- endoreg_db/data/finding/medication_related.yaml +18 -0
- endoreg_db/data/finding/outcome.yaml +12 -0
- endoreg_db/data/finding_classification/colonoscopy_bowel_preparation.yaml +95 -0
- endoreg_db/data/finding_classification/colonoscopy_jnet.yaml +22 -0
- endoreg_db/data/finding_classification/colonoscopy_kudo.yaml +25 -0
- endoreg_db/data/finding_classification/colonoscopy_lesion_circularity.yaml +20 -0
- endoreg_db/data/finding_classification/colonoscopy_lesion_planarity.yaml +24 -0
- endoreg_db/data/finding_classification/colonoscopy_lesion_size.yaml +68 -0
- endoreg_db/data/finding_classification/colonoscopy_lesion_surface.yaml +20 -0
- endoreg_db/data/finding_classification/colonoscopy_location.yaml +80 -0
- endoreg_db/data/finding_classification/colonoscopy_lst.yaml +21 -0
- endoreg_db/data/finding_classification/colonoscopy_nice.yaml +20 -0
- endoreg_db/data/finding_classification/colonoscopy_paris.yaml +26 -0
- endoreg_db/data/finding_classification/colonoscopy_sano.yaml +22 -0
- endoreg_db/data/finding_classification/colonoscopy_summary.yaml +53 -0
- endoreg_db/data/finding_classification/complication_generic.yaml +25 -0
- endoreg_db/data/finding_classification/examination_setting_generic.yaml +40 -0
- endoreg_db/data/finding_classification/histology_colo.yaml +51 -0
- endoreg_db/data/finding_classification/intervention_required.yaml +26 -0
- endoreg_db/data/finding_classification/medication_related.yaml +23 -0
- endoreg_db/data/finding_classification/visualized.yaml +33 -0
- endoreg_db/data/finding_classification_choice/bowel_preparation.yaml +78 -0
- endoreg_db/data/{finding_morphology_classification_choice → finding_classification_choice}/colon_lesion_circularity_default.yaml +0 -2
- endoreg_db/data/finding_classification_choice/colon_lesion_jnet.yaml +15 -0
- endoreg_db/data/finding_classification_choice/colon_lesion_kudo.yaml +23 -0
- endoreg_db/data/finding_classification_choice/colon_lesion_lst.yaml +15 -0
- endoreg_db/data/{finding_morphology_classification_choice → finding_classification_choice}/colon_lesion_nice.yaml +4 -7
- endoreg_db/data/{finding_morphology_classification_choice → finding_classification_choice}/colon_lesion_paris.yaml +0 -8
- endoreg_db/data/{finding_morphology_classification_choice → finding_classification_choice}/colon_lesion_planarity_default.yaml +6 -13
- endoreg_db/data/finding_classification_choice/colon_lesion_sano.yaml +14 -0
- endoreg_db/data/{finding_morphology_classification_choice → finding_classification_choice}/colon_lesion_surface_intact_default.yaml +3 -6
- endoreg_db/data/{finding_location_classification_choice/colonoscopy.yaml → finding_classification_choice/colonoscopy_location.yaml} +11 -22
- endoreg_db/data/finding_classification_choice/colonoscopy_not_complete_reason.yaml +19 -0
- endoreg_db/data/finding_classification_choice/colonoscopy_size.yaml +82 -0
- endoreg_db/data/finding_classification_choice/colonoscopy_summary_worst_finding.yaml +15 -0
- endoreg_db/data/finding_classification_choice/complication_generic_types.yaml +15 -0
- endoreg_db/data/finding_classification_choice/examination_setting_generic_types.yaml +15 -0
- endoreg_db/data/finding_classification_choice/histology.yaml +24 -0
- endoreg_db/data/finding_classification_choice/histology_polyp.yaml +20 -0
- endoreg_db/data/finding_classification_choice/outcome.yaml +19 -0
- endoreg_db/data/finding_classification_choice/yes_no_na.yaml +11 -0
- endoreg_db/data/finding_classification_type/colonoscopy_basic.yaml +48 -0
- endoreg_db/data/finding_intervention/endoscopy_colonoscopy.yaml +8 -3
- endoreg_db/data/finding_morphology_classification_type/colonoscopy.yaml +6 -6
- endoreg_db/data/finding_type/data.yaml +23 -10
- endoreg_db/data/gender/data.yaml +8 -1
- endoreg_db/data/information_source/annotation.yaml +6 -0
- endoreg_db/data/information_source/prediction.yaml +7 -0
- endoreg_db/data/information_source_type/data.yaml +8 -0
- endoreg_db/data/lab_value/misc.yaml +43 -0
- endoreg_db/data/medication/anticoagulation.yaml +5 -5
- endoreg_db/data/medication/tah.yaml +5 -5
- endoreg_db/data/medication_intake_time/base.yaml +4 -4
- endoreg_db/data/names_first/first_names.yaml +3 -0
- endoreg_db/data/pdf_type/data.yaml +26 -2
- endoreg_db/data/qualification/endoscopy.yaml +36 -0
- endoreg_db/data/qualification/m2.yaml +39 -0
- endoreg_db/data/qualification/outpatient_clinic.yaml +35 -0
- endoreg_db/data/qualification/sonography.yaml +36 -0
- endoreg_db/data/qualification_type/base.yaml +29 -0
- endoreg_db/data/report_reader_flag/rkh-histology-generic.yaml +10 -0
- endoreg_db/data/report_reader_flag/ukw-histology-generic.yaml +5 -0
- endoreg_db/data/requirement/age.yaml +26 -0
- endoreg_db/data/requirement/colonoscopy_baseline_austria.yaml +45 -0
- endoreg_db/data/requirement/disease_cardiovascular.yaml +6 -6
- endoreg_db/data/requirement/disease_classification_choice_cardiovascular.yaml +9 -6
- endoreg_db/data/requirement/disease_hepatology.yaml +1 -1
- endoreg_db/data/requirement/disease_misc.yaml +3 -3
- endoreg_db/data/requirement/disease_renal.yaml +18 -2
- endoreg_db/data/requirement/{colonoscopy_indications.yaml → endoscopy_bleeding_risk.yaml} +6 -3
- endoreg_db/data/requirement/event_cardiology.yaml +17 -17
- endoreg_db/data/requirement/event_requirements.yaml +145 -0
- endoreg_db/data/requirement/finding_colon_polyp.yaml +50 -0
- endoreg_db/data/requirement/gender.yaml +25 -0
- endoreg_db/data/requirement/lab_value.yaml +352 -31
- endoreg_db/data/requirement/medication.yaml +93 -0
- endoreg_db/data/requirement_operator/age.yaml +13 -0
- endoreg_db/data/requirement_operator/lab_operators.yaml +36 -35
- endoreg_db/data/requirement_operator/model_operators.yaml +13 -7
- endoreg_db/data/requirement_set/01_endoscopy_generic.yaml +48 -0
- endoreg_db/data/requirement_set/colonoscopy_austria_screening.yaml +57 -0
- endoreg_db/data/requirement_set/endoscopy_bleeding_risk.yaml +42 -2
- endoreg_db/data/requirement_type/requirement_types.yaml +82 -0
- endoreg_db/data/shift/endoscopy.yaml +21 -0
- endoreg_db/data/shift_type/base.yaml +35 -0
- endoreg_db/data/tag/requirement_set_tags.yaml +11 -0
- endoreg_db/data/unit/concentration.yaml +23 -0
- endoreg_db/exceptions.py +19 -0
- endoreg_db/forms/patient_finding_intervention_form.py +4 -5
- endoreg_db/forms/patient_form.py +7 -6
- endoreg_db/forms/questionnaires/__init__.py +1 -1
- endoreg_db/forms/questionnaires/tto_questionnaire.py +19 -19
- endoreg_db/helpers/count_db.py +45 -0
- endoreg_db/helpers/data_loader.py +208 -0
- endoreg_db/helpers/default_objects.py +359 -0
- endoreg_db/helpers/download_segmentation_model.py +31 -0
- endoreg_db/helpers/interact.py +6 -0
- endoreg_db/helpers/test_video_helper.py +119 -0
- endoreg_db/logger_conf.py +140 -0
- endoreg_db/management/__init__.py +1 -0
- endoreg_db/management/commands/__init__.py +1 -0
- endoreg_db/management/commands/anonymize_video.py +0 -0
- endoreg_db/management/commands/check_auth.py +125 -0
- endoreg_db/management/commands/create_multilabel_model_meta.py +214 -0
- endoreg_db/management/commands/fix_missing_patient_data.py +172 -0
- endoreg_db/management/commands/fix_video_paths.py +165 -0
- endoreg_db/management/commands/import_fallback_video.py +203 -0
- endoreg_db/management/commands/import_report.py +298 -0
- endoreg_db/management/commands/import_video.py +422 -0
- endoreg_db/management/commands/import_video_with_classification.py +367 -0
- endoreg_db/management/commands/init_default_ai_model.py +112 -0
- endoreg_db/management/commands/load_ai_model_data.py +2 -7
- endoreg_db/management/commands/load_base_db_data.py +1 -0
- endoreg_db/management/commands/load_endoscope_data.py +2 -2
- endoreg_db/management/commands/load_examination_indication_data.py +2 -3
- endoreg_db/management/commands/load_finding_data.py +49 -92
- endoreg_db/management/commands/load_green_endoscopy_wuerzburg_data.py +0 -1
- endoreg_db/management/commands/load_information_source.py +13 -7
- endoreg_db/management/commands/load_name_data.py +37 -0
- endoreg_db/management/commands/load_qualification_data.py +59 -0
- endoreg_db/management/commands/load_requirement_data.py +30 -6
- endoreg_db/management/commands/load_shift_data.py +60 -0
- endoreg_db/management/commands/load_tag_data.py +57 -0
- endoreg_db/management/commands/register_ai_model.py +1 -1
- endoreg_db/management/commands/start_filewatcher.py +106 -0
- endoreg_db/management/commands/storage_management.py +548 -0
- endoreg_db/management/commands/summarize_db_content.py +189 -0
- endoreg_db/management/commands/validate_video.py +204 -0
- endoreg_db/management/commands/validate_video_files.py +161 -0
- endoreg_db/management/commands/video_validation.py +22 -0
- endoreg_db/migrations/0001_initial.py +625 -813
- endoreg_db/migrations/0002_add_video_correction_models.py +52 -0
- endoreg_db/models/__init__.py +270 -307
- endoreg_db/models/administration/__init__.py +116 -0
- endoreg_db/models/{ai_model → administration/ai}/__init__.py +6 -1
- endoreg_db/models/administration/ai/active_model.py +35 -0
- endoreg_db/models/administration/ai/ai_model.py +156 -0
- endoreg_db/models/{ai_model → administration/ai}/model_type.py +6 -1
- endoreg_db/models/administration/case/__init__.py +19 -0
- endoreg_db/models/administration/case/case.py +114 -0
- endoreg_db/models/{case_template → administration/case/case_template}/case_template.py +3 -3
- endoreg_db/models/{case_template → administration/case/case_template}/case_template_rule.py +3 -10
- endoreg_db/models/{case_template → administration/case/case_template}/case_template_rule_value.py +2 -4
- endoreg_db/models/{case_template → administration/case/case_template}/case_template_type.py +1 -3
- endoreg_db/models/{center → administration/center}/__init__.py +3 -1
- endoreg_db/models/administration/center/center.py +61 -0
- endoreg_db/models/administration/center/center_product.py +64 -0
- endoreg_db/models/{center → administration/center}/center_resource.py +19 -3
- endoreg_db/models/administration/center/center_shift.py +88 -0
- endoreg_db/models/administration/center/center_waste.py +30 -0
- endoreg_db/models/administration/permissions/__init__.py +44 -0
- endoreg_db/models/administration/person/__init__.py +24 -0
- endoreg_db/models/administration/person/employee/__init__.py +3 -0
- endoreg_db/models/administration/person/employee/employee.py +35 -0
- endoreg_db/models/administration/person/employee/employee_qualification.py +39 -0
- endoreg_db/models/administration/person/employee/employee_type.py +42 -0
- endoreg_db/models/administration/person/examiner/__init__.py +4 -0
- endoreg_db/models/administration/person/examiner/examiner.py +54 -0
- endoreg_db/models/administration/person/names/__init__.py +0 -0
- endoreg_db/models/{persons → administration/person/names}/first_name.py +1 -1
- endoreg_db/models/{persons → administration/person/names}/last_name.py +2 -3
- endoreg_db/models/administration/person/patient/__init__.py +5 -0
- endoreg_db/models/administration/person/patient/patient.py +460 -0
- endoreg_db/models/administration/person/profession/__init__.py +24 -0
- endoreg_db/models/administration/person/user/__init__.py +5 -0
- endoreg_db/models/administration/person/user/portal_user_information.py +37 -0
- endoreg_db/models/administration/product/product.py +97 -0
- endoreg_db/models/administration/product/product_group.py +39 -0
- endoreg_db/models/administration/product/product_material.py +54 -0
- endoreg_db/models/{product → administration/product}/product_weight.py +9 -0
- endoreg_db/models/{product → administration/product}/reference_product.py +26 -11
- endoreg_db/models/administration/qualification/__init__.py +7 -0
- endoreg_db/models/administration/qualification/qualification.py +37 -0
- endoreg_db/models/administration/qualification/qualification_type.py +35 -0
- endoreg_db/models/administration/shift/__init__.py +9 -0
- endoreg_db/models/administration/shift/scheduled_days.py +69 -0
- endoreg_db/models/administration/shift/shift.py +51 -0
- endoreg_db/models/administration/shift/shift_type.py +108 -0
- endoreg_db/models/label/__init__.py +24 -1
- endoreg_db/models/label/annotation/__init__.py +12 -0
- endoreg_db/models/label/annotation/image_classification.py +84 -0
- endoreg_db/models/label/annotation/video_segmentation_annotation.py +66 -0
- endoreg_db/models/label/label.py +45 -74
- endoreg_db/models/label/label_set.py +53 -0
- endoreg_db/models/label/label_type.py +29 -0
- endoreg_db/models/label/label_video_segment/__init__.py +3 -0
- endoreg_db/models/label/label_video_segment/_create_from_video.py +41 -0
- endoreg_db/models/label/label_video_segment/label_video_segment.py +511 -0
- endoreg_db/models/label/video_segmentation_label.py +31 -0
- endoreg_db/models/{annotation → label}/video_segmentation_labelset.py +7 -0
- endoreg_db/models/media/__init__.py +14 -0
- endoreg_db/models/media/frame/__init__.py +3 -0
- endoreg_db/models/media/frame/frame.py +111 -0
- endoreg_db/models/media/pdf/__init__.py +11 -0
- endoreg_db/models/media/pdf/raw_pdf.py +608 -0
- endoreg_db/models/media/pdf/report_file.py +162 -0
- endoreg_db/models/media/pdf/report_reader/report_reader_config.py +77 -0
- endoreg_db/models/media/video/__init__.py +4 -0
- endoreg_db/models/media/video/create_from_file.py +336 -0
- endoreg_db/models/media/video/pipe_1.py +207 -0
- endoreg_db/models/media/video/pipe_2.py +105 -0
- endoreg_db/models/media/video/refactor_plan.md +0 -0
- endoreg_db/models/media/video/video_file.py +680 -0
- endoreg_db/models/media/video/video_file_ai.py +443 -0
- endoreg_db/models/media/video/video_file_anonymize.py +348 -0
- endoreg_db/models/media/video/video_file_frames/__init__.py +47 -0
- endoreg_db/models/media/video/video_file_frames/_bulk_create_frames.py +22 -0
- endoreg_db/models/media/video/video_file_frames/_create_frame_object.py +23 -0
- endoreg_db/models/media/video/video_file_frames/_delete_frames.py +104 -0
- endoreg_db/models/media/video/video_file_frames/_extract_frames.py +174 -0
- endoreg_db/models/media/video/video_file_frames/_get_frame.py +28 -0
- endoreg_db/models/media/video/video_file_frames/_get_frame_number.py +27 -0
- endoreg_db/models/media/video/video_file_frames/_get_frame_path.py +20 -0
- endoreg_db/models/media/video/video_file_frames/_get_frame_paths.py +27 -0
- endoreg_db/models/media/video/video_file_frames/_get_frame_range.py +34 -0
- endoreg_db/models/media/video/video_file_frames/_get_frames.py +27 -0
- endoreg_db/models/media/video/video_file_frames/_initialize_frames.py +129 -0
- endoreg_db/models/media/video/video_file_frames/_manage_frame_range.py +129 -0
- endoreg_db/models/media/video/video_file_frames/_mark_frames_extracted_status.py +65 -0
- endoreg_db/models/media/video/video_file_frames.py +0 -0
- endoreg_db/models/media/video/video_file_io.py +166 -0
- endoreg_db/models/media/video/video_file_meta/__init__.py +22 -0
- endoreg_db/models/media/video/video_file_meta/get_crop_template.py +45 -0
- endoreg_db/models/media/video/video_file_meta/get_endo_roi.py +39 -0
- endoreg_db/models/media/video/video_file_meta/get_fps.py +147 -0
- endoreg_db/models/media/video/video_file_meta/initialize_video_specs.py +143 -0
- endoreg_db/models/media/video/video_file_meta/text_meta.py +134 -0
- endoreg_db/models/media/video/video_file_meta/video_meta.py +70 -0
- endoreg_db/models/media/video/video_file_meta.py +11 -0
- endoreg_db/models/media/video/video_file_segments.py +209 -0
- endoreg_db/models/medical/__init__.py +146 -0
- endoreg_db/models/{contraindication → medical/contraindication}/__init__.py +1 -5
- endoreg_db/models/{disease.py → medical/disease.py} +60 -52
- endoreg_db/models/{event.py → medical/event.py} +31 -54
- endoreg_db/models/{examination → medical/examination}/__init__.py +1 -1
- endoreg_db/models/medical/examination/examination.py +148 -0
- endoreg_db/models/{examination → medical/examination}/examination_indication.py +64 -35
- endoreg_db/models/{examination → medical/examination}/examination_time.py +0 -4
- endoreg_db/models/{examination → medical/examination}/examination_time_type.py +1 -8
- endoreg_db/models/{examination → medical/examination}/examination_type.py +1 -7
- endoreg_db/models/medical/finding/__init__.py +18 -0
- endoreg_db/models/medical/finding/finding.py +96 -0
- endoreg_db/models/medical/finding/finding_classification.py +142 -0
- endoreg_db/models/{finding → medical/finding}/finding_intervention.py +2 -10
- endoreg_db/models/medical/finding/finding_type.py +35 -0
- endoreg_db/models/medical/hardware/__init__.py +8 -0
- endoreg_db/models/{hardware → medical/hardware}/endoscope.py +28 -23
- endoreg_db/models/medical/laboratory/__init__.py +5 -0
- endoreg_db/models/medical/laboratory/lab_value.py +419 -0
- endoreg_db/models/{medication → medical/medication}/medication.py +1 -3
- endoreg_db/models/{medication → medical/medication}/medication_indication_type.py +8 -3
- endoreg_db/models/{medication → medical/medication}/medication_intake_time.py +21 -3
- endoreg_db/models/{medication → medical/medication}/medication_schedule.py +13 -5
- endoreg_db/models/{organ → medical/organ}/__init__.py +3 -6
- endoreg_db/models/medical/patient/__init__.py +56 -0
- endoreg_db/models/medical/patient/medication_examples.py +38 -0
- endoreg_db/models/medical/patient/patient_disease.py +63 -0
- endoreg_db/models/medical/patient/patient_event.py +75 -0
- endoreg_db/models/medical/patient/patient_examination.py +249 -0
- endoreg_db/models/{persons → medical}/patient/patient_examination_indication.py +21 -9
- endoreg_db/models/medical/patient/patient_finding.py +357 -0
- endoreg_db/models/medical/patient/patient_finding_classification.py +207 -0
- endoreg_db/models/{patient → medical/patient}/patient_finding_intervention.py +15 -1
- endoreg_db/models/medical/patient/patient_lab_sample.py +148 -0
- endoreg_db/models/{persons → medical}/patient/patient_lab_value.py +40 -15
- endoreg_db/models/medical/patient/patient_medication.py +104 -0
- endoreg_db/models/medical/patient/patient_medication_schedule.py +136 -0
- endoreg_db/models/{risk → medical/risk}/risk_type.py +0 -4
- endoreg_db/models/{data_file/metadata → metadata}/__init__.py +6 -0
- endoreg_db/models/metadata/frame_ocr_result.py +0 -0
- endoreg_db/models/metadata/model_meta.py +193 -0
- endoreg_db/models/metadata/model_meta_logic.py +236 -0
- endoreg_db/models/{data_file/metadata → metadata}/pdf_meta.py +28 -13
- endoreg_db/models/metadata/sensitive_meta.py +288 -0
- endoreg_db/models/metadata/sensitive_meta_logic.py +643 -0
- endoreg_db/models/metadata/video_meta.py +332 -0
- endoreg_db/models/metadata/video_prediction_logic.py +190 -0
- endoreg_db/models/metadata/video_prediction_meta.py +270 -0
- endoreg_db/models/other/__init__.py +17 -0
- endoreg_db/models/other/distribution/date_value_distribution.py +0 -2
- endoreg_db/models/other/distribution/numeric_value_distribution.py +30 -2
- endoreg_db/models/{emission → other/emission}/emission_factor.py +15 -6
- endoreg_db/models/{persons → other}/gender.py +8 -3
- endoreg_db/models/other/information_source.py +159 -0
- endoreg_db/models/other/material.py +10 -2
- endoreg_db/models/other/resource.py +6 -2
- endoreg_db/models/other/tag.py +27 -0
- endoreg_db/models/other/transport_route.py +13 -2
- endoreg_db/models/{unit.py → other/unit.py} +16 -6
- endoreg_db/models/other/waste.py +10 -3
- endoreg_db/models/requirement/requirement.py +556 -114
- endoreg_db/models/requirement/requirement_evaluation/__init__.py +4 -132
- endoreg_db/models/requirement/requirement_evaluation/get_values.py +40 -0
- endoreg_db/models/requirement/requirement_evaluation/operator_evaluation_models.py +9 -0
- endoreg_db/models/requirement/requirement_evaluation/requirement_type_parser.py +80 -87
- endoreg_db/models/requirement/requirement_operator.py +132 -14
- endoreg_db/models/requirement/requirement_set.py +181 -21
- endoreg_db/models/rule/__init__.py +13 -0
- endoreg_db/models/{rules → rule}/rule.py +6 -3
- endoreg_db/models/{rules → rule}/rule_attribute_dtype.py +0 -2
- endoreg_db/models/{rules → rule}/rule_type.py +0 -2
- endoreg_db/models/{rules → rule}/ruleset.py +0 -2
- endoreg_db/models/state/__init__.py +12 -0
- endoreg_db/models/state/abstract.py +11 -0
- endoreg_db/models/state/audit_ledger.py +150 -0
- endoreg_db/models/state/label_video_segment.py +22 -0
- endoreg_db/models/state/raw_pdf.py +187 -0
- endoreg_db/models/state/sensitive_meta.py +46 -0
- endoreg_db/models/state/video.py +232 -0
- endoreg_db/models/upload_job.py +99 -0
- endoreg_db/models/utils.py +135 -0
- endoreg_db/models/video_metadata.py +66 -0
- endoreg_db/models/video_processing.py +153 -0
- endoreg_db/renames.yml +8 -0
- endoreg_db/root_urls.py +9 -0
- endoreg_db/schemas/__init__.py +0 -0
- endoreg_db/schemas/examination_evaluation.py +27 -0
- endoreg_db/serializers/Frames_NICE_and_PARIS_classifications.py +775 -0
- endoreg_db/serializers/__init__.py +147 -10
- endoreg_db/serializers/{raw_pdf_meta_validation.py → _old/raw_pdf_meta_validation.py} +3 -3
- endoreg_db/serializers/{raw_video_meta_validation.py → _old/raw_video_meta_validation.py} +18 -14
- endoreg_db/serializers/_old/video.py +71 -0
- endoreg_db/serializers/administration/__init__.py +14 -0
- endoreg_db/serializers/administration/ai/__init__.py +10 -0
- endoreg_db/serializers/administration/ai/active_model.py +10 -0
- endoreg_db/serializers/administration/ai/ai_model.py +18 -0
- endoreg_db/serializers/administration/ai/model_type.py +10 -0
- endoreg_db/serializers/administration/center.py +9 -0
- endoreg_db/serializers/administration/gender.py +9 -0
- endoreg_db/serializers/anonymization.py +69 -0
- endoreg_db/serializers/evaluation/examination_evaluation.py +1 -0
- endoreg_db/serializers/examination/__init__.py +10 -0
- endoreg_db/serializers/examination/base.py +46 -0
- endoreg_db/serializers/examination/dropdown.py +21 -0
- endoreg_db/serializers/examination_serializer.py +12 -0
- endoreg_db/serializers/finding/__init__.py +5 -0
- endoreg_db/serializers/finding/finding.py +54 -0
- endoreg_db/serializers/finding_classification/__init__.py +7 -0
- endoreg_db/serializers/finding_classification/choice.py +19 -0
- endoreg_db/serializers/finding_classification/classification.py +13 -0
- endoreg_db/serializers/label/__init__.py +7 -0
- endoreg_db/serializers/label/image_classification_annotation.py +62 -0
- endoreg_db/serializers/label/label.py +15 -0
- endoreg_db/serializers/label_video_segment/__init__.py +7 -0
- endoreg_db/serializers/label_video_segment/_lvs_create.py +149 -0
- endoreg_db/serializers/label_video_segment/_lvs_update.py +138 -0
- endoreg_db/serializers/label_video_segment/_lvs_validate.py +149 -0
- endoreg_db/serializers/label_video_segment/label_video_segment.py +344 -0
- endoreg_db/serializers/label_video_segment/label_video_segment_annotation.py +99 -0
- endoreg_db/serializers/label_video_segment/label_video_segment_update.py +163 -0
- endoreg_db/serializers/meta/__init__.py +19 -0
- endoreg_db/serializers/meta/pdf_file_meta_extraction.py +115 -0
- endoreg_db/serializers/meta/report_meta.py +53 -0
- endoreg_db/serializers/meta/sensitive_meta_detail.py +162 -0
- endoreg_db/serializers/meta/sensitive_meta_update.py +148 -0
- endoreg_db/serializers/meta/sensitive_meta_verification.py +59 -0
- endoreg_db/serializers/meta/video_meta.py +39 -0
- endoreg_db/serializers/misc/__init__.py +14 -0
- endoreg_db/serializers/misc/file_overview.py +152 -0
- endoreg_db/serializers/misc/stats.py +33 -0
- endoreg_db/serializers/misc/translatable_field_mix_in.py +44 -0
- endoreg_db/serializers/misc/upload_job.py +71 -0
- endoreg_db/serializers/misc/vop_patient_data.py +120 -0
- endoreg_db/serializers/patient/__init__.py +11 -0
- endoreg_db/serializers/patient/patient.py +86 -0
- endoreg_db/serializers/patient/patient_dropdown.py +27 -0
- endoreg_db/serializers/patient_examination/__init__.py +7 -0
- endoreg_db/serializers/patient_examination/patient_examination.py +141 -0
- endoreg_db/serializers/patient_finding/__init__.py +15 -0
- endoreg_db/serializers/patient_finding/patient_finding.py +31 -0
- endoreg_db/serializers/patient_finding/patient_finding_classification.py +39 -0
- endoreg_db/serializers/patient_finding/patient_finding_detail.py +53 -0
- endoreg_db/serializers/patient_finding/patient_finding_intervention.py +26 -0
- endoreg_db/serializers/patient_finding/patient_finding_list.py +41 -0
- endoreg_db/serializers/patient_finding/patient_finding_write.py +126 -0
- endoreg_db/serializers/pdf/__init__.py +5 -0
- endoreg_db/serializers/pdf/anony_text_validation.py +85 -0
- endoreg_db/serializers/report/__init__.py +9 -0
- endoreg_db/serializers/report/mixins.py +45 -0
- endoreg_db/serializers/report/report.py +105 -0
- endoreg_db/serializers/report/report_list.py +22 -0
- endoreg_db/serializers/report/secure_file_url.py +26 -0
- endoreg_db/serializers/requirements/requirement_schema.py +25 -0
- endoreg_db/serializers/requirements/requirement_sets.py +29 -0
- endoreg_db/serializers/sensitive_meta_serializer.py +282 -0
- endoreg_db/serializers/video/__init__.py +7 -0
- endoreg_db/serializers/video/segmentation.py +263 -0
- endoreg_db/serializers/video/video_file_brief.py +10 -0
- endoreg_db/serializers/video/video_file_detail.py +83 -0
- endoreg_db/serializers/video/video_file_list.py +67 -0
- endoreg_db/serializers/video/video_metadata.py +105 -0
- endoreg_db/serializers/video/video_processing_history.py +153 -0
- endoreg_db/services/__init__.py +5 -0
- endoreg_db/services/anonymization.py +223 -0
- endoreg_db/services/examination_evaluation.py +149 -0
- endoreg_db/services/finding_description_service.py +0 -0
- endoreg_db/services/lookup_service.py +241 -0
- endoreg_db/services/lookup_store.py +122 -0
- endoreg_db/services/ollama_api_docs.py +1528 -0
- endoreg_db/services/pdf_import.py +963 -0
- endoreg_db/services/polling_coordinator.py +288 -0
- endoreg_db/services/pseudonym_service.py +89 -0
- endoreg_db/services/requirements_object.py +147 -0
- endoreg_db/services/segment_sync.py +155 -0
- endoreg_db/services/storage_aware_video_processor.py +344 -0
- endoreg_db/services/video_import.py +1118 -0
- endoreg_db/tasks/upload_tasks.py +207 -0
- endoreg_db/tasks/video_ingest.py +157 -0
- endoreg_db/tasks/video_processing_tasks.py +327 -0
- endoreg_db/urls/__init__.py +70 -0
- endoreg_db/urls/anonymization.py +32 -0
- endoreg_db/urls/auth.py +16 -0
- endoreg_db/urls/classification.py +39 -0
- endoreg_db/urls/examination.py +54 -0
- endoreg_db/urls/files.py +6 -0
- endoreg_db/urls/label_video_segment_validate.py +33 -0
- endoreg_db/urls/label_video_segments.py +44 -0
- endoreg_db/urls/media.py +229 -0
- endoreg_db/urls/patient.py +19 -0
- endoreg_db/urls/report.py +48 -0
- endoreg_db/urls/requirements.py +13 -0
- endoreg_db/urls/stats.py +46 -0
- endoreg_db/urls/upload.py +20 -0
- endoreg_db/urls/video.py +61 -0
- endoreg_db/urls.py +6 -283
- endoreg_db/utils/__init__.py +66 -57
- endoreg_db/utils/ai/__init__.py +9 -0
- endoreg_db/{models/ai_model/utils.py → utils/ai/get.py} +1 -4
- endoreg_db/{models/ai_model/lightning → utils/ai}/inference_dataset.py +0 -1
- endoreg_db/{models/ai_model/lightning → utils/ai}/multilabel_classification_net.py +14 -10
- endoreg_db/{models/ai_model/lightning → utils/ai}/postprocess.py +15 -5
- endoreg_db/utils/ai/predict.py +291 -0
- endoreg_db/{models/ai_model/lightning → utils/ai}/preprocess.py +1 -1
- endoreg_db/utils/calc_duration_seconds.py +24 -0
- endoreg_db/utils/case_generator/__init__.py +0 -0
- endoreg_db/utils/check_video_files.py +148 -0
- endoreg_db/utils/dataloader.py +50 -12
- endoreg_db/utils/dates.py +21 -0
- endoreg_db/utils/env.py +33 -0
- endoreg_db/utils/extract_specific_frames.py +72 -0
- endoreg_db/utils/file_operations.py +29 -1
- endoreg_db/utils/fix_video_path_direct.py +141 -0
- endoreg_db/utils/frame_anonymization_utils.py +463 -0
- endoreg_db/utils/links/__init__.py +0 -0
- endoreg_db/utils/links/requirement_link.py +193 -0
- endoreg_db/utils/mime_types.py +0 -0
- endoreg_db/utils/names.py +2 -0
- endoreg_db/utils/paths.py +100 -82
- endoreg_db/utils/permissions.py +143 -0
- endoreg_db/utils/pipelines/Readme.md +235 -0
- endoreg_db/utils/pipelines/__init__.py +0 -0
- endoreg_db/utils/pipelines/process_video_dir.py +120 -0
- endoreg_db/utils/product/__init__.py +0 -0
- endoreg_db/utils/product/sum_emissions.py +20 -0
- endoreg_db/utils/product/sum_weights.py +18 -0
- endoreg_db/utils/pydantic_models/db_config.py +1 -1
- endoreg_db/utils/requirement_helpers.py +0 -0
- endoreg_db/utils/requirement_operator_logic/__init__.py +0 -0
- endoreg_db/utils/requirement_operator_logic/lab_value_operators.py +578 -0
- endoreg_db/utils/requirement_operator_logic/model_evaluators.py +368 -0
- endoreg_db/utils/translation.py +27 -0
- endoreg_db/utils/validate_video_detailed.py +357 -0
- endoreg_db/utils/video/__init__.py +19 -6
- endoreg_db/utils/video/extract_frames.py +37 -70
- endoreg_db/utils/video/ffmpeg_wrapper.py +772 -0
- endoreg_db/utils/video/names.py +42 -0
- endoreg_db/utils/video/streaming_processor.py +312 -0
- endoreg_db/utils/video/video_splitter.py +94 -0
- endoreg_db/views/Frames_NICE_and_PARIS_classifications_views.py +238 -0
- endoreg_db/views/__init__.py +282 -2
- endoreg_db/views/anonymization/__init__.py +27 -0
- endoreg_db/views/anonymization/media_management.py +454 -0
- endoreg_db/views/anonymization/overview.py +216 -0
- endoreg_db/views/anonymization/validate.py +66 -0
- endoreg_db/views/auth/__init__.py +13 -0
- endoreg_db/views/{views.py → auth/keycloak.py} +19 -13
- endoreg_db/views/examination/__init__.py +33 -0
- endoreg_db/views/examination/examination.py +37 -0
- endoreg_db/views/examination/examination_manifest_cache.py +26 -0
- endoreg_db/views/examination/get_finding_classification_choices.py +59 -0
- endoreg_db/views/examination/get_finding_classifications.py +36 -0
- endoreg_db/views/examination/get_findings.py +41 -0
- endoreg_db/views/examination/get_instruments.py +18 -0
- endoreg_db/views/examination/get_interventions.py +14 -0
- endoreg_db/views/finding/__init__.py +9 -0
- endoreg_db/views/finding/finding.py +112 -0
- endoreg_db/views/finding/get_classifications.py +14 -0
- endoreg_db/views/finding/get_interventions.py +17 -0
- endoreg_db/views/finding_classification/__init__.py +13 -0
- endoreg_db/views/finding_classification/base.py +0 -0
- endoreg_db/views/finding_classification/finding_classification.py +42 -0
- endoreg_db/views/finding_classification/get_classification_choices.py +55 -0
- endoreg_db/views/label/__init__.py +5 -0
- endoreg_db/views/label/label.py +15 -0
- endoreg_db/views/label_video_segment/__init__.py +16 -0
- endoreg_db/views/label_video_segment/create_lvs_from_annotation.py +44 -0
- endoreg_db/views/label_video_segment/get_lvs_by_name_and_video.py +50 -0
- endoreg_db/views/label_video_segment/label_video_segment.py +77 -0
- endoreg_db/views/label_video_segment/label_video_segment_by_label.py +174 -0
- endoreg_db/views/label_video_segment/label_video_segment_detail.py +73 -0
- endoreg_db/views/label_video_segment/update_lvs_from_annotation.py +46 -0
- endoreg_db/views/label_video_segment/validate.py +226 -0
- endoreg_db/views/media/__init__.py +45 -0
- endoreg_db/views/media/pdf_media.py +386 -0
- endoreg_db/views/media/segments.py +71 -0
- endoreg_db/views/media/sensitive_metadata.py +314 -0
- endoreg_db/views/media/video_media.py +272 -0
- endoreg_db/views/media/video_segments.py +596 -0
- endoreg_db/views/meta/__init__.py +15 -0
- endoreg_db/views/meta/available_files_list.py +146 -0
- endoreg_db/views/meta/report_meta.py +53 -0
- endoreg_db/views/meta/sensitive_meta_detail.py +148 -0
- endoreg_db/views/meta/sensitive_meta_list.py +104 -0
- endoreg_db/views/meta/sensitive_meta_verification.py +71 -0
- endoreg_db/views/misc/__init__.py +63 -0
- endoreg_db/views/misc/center.py +13 -0
- endoreg_db/views/misc/gender.py +14 -0
- endoreg_db/views/misc/secure_file_serving_view.py +80 -0
- endoreg_db/views/misc/secure_file_url_view.py +84 -0
- endoreg_db/views/misc/secure_url_validate.py +79 -0
- endoreg_db/views/misc/stats.py +220 -0
- endoreg_db/views/misc/translation.py +182 -0
- endoreg_db/views/misc/upload_views.py +240 -0
- endoreg_db/views/patient/__init__.py +5 -0
- endoreg_db/views/patient/patient.py +210 -0
- endoreg_db/views/patient_examination/DEPRECATED_video_backup.py +164 -0
- endoreg_db/views/patient_examination/__init__.py +11 -0
- endoreg_db/views/patient_examination/patient_examination.py +140 -0
- endoreg_db/views/patient_examination/patient_examination_create.py +63 -0
- endoreg_db/views/patient_examination/patient_examination_detail.py +66 -0
- endoreg_db/views/patient_examination/patient_examination_list.py +68 -0
- endoreg_db/views/patient_examination/video.py +194 -0
- endoreg_db/views/patient_finding/__init__.py +7 -0
- endoreg_db/views/patient_finding/base.py +0 -0
- endoreg_db/views/patient_finding/patient_finding.py +64 -0
- endoreg_db/views/patient_finding/patient_finding_optimized.py +259 -0
- endoreg_db/views/patient_finding_classification/__init__.py +5 -0
- endoreg_db/views/patient_finding_classification/pfc_create.py +67 -0
- endoreg_db/views/patient_finding_location/__init__.py +5 -0
- endoreg_db/views/patient_finding_location/pfl_create.py +70 -0
- endoreg_db/views/patient_finding_morphology/__init__.py +5 -0
- endoreg_db/views/patient_finding_morphology/pfm_create.py +70 -0
- endoreg_db/views/pdf/__init__.py +11 -0
- endoreg_db/views/pdf/pdf_media.py +239 -0
- endoreg_db/views/pdf/pdf_stream_views.py +127 -0
- endoreg_db/views/pdf/reimport.py +161 -0
- endoreg_db/views/report/__init__.py +9 -0
- endoreg_db/views/report/report_list.py +112 -0
- endoreg_db/views/report/report_with_secure_url.py +28 -0
- endoreg_db/views/report/start_examination.py +7 -0
- endoreg_db/views/requirement/__init__.py +10 -0
- endoreg_db/views/requirement/evaluate.py +279 -0
- endoreg_db/views/requirement/lookup.py +483 -0
- endoreg_db/views/requirement/lookup_store.py +252 -0
- endoreg_db/views/requirement_lookup/lookup.py +0 -0
- endoreg_db/views/requirement_lookup/lookup_store.py +0 -0
- endoreg_db/views/stats/__init__.py +13 -0
- endoreg_db/views/stats/stats_views.py +229 -0
- endoreg_db/views/video/__init__.py +64 -0
- endoreg_db/views/video/correction.py +672 -0
- endoreg_db/views/video/reimport.py +195 -0
- endoreg_db/views/video/segmentation.py +274 -0
- endoreg_db/views/video/task_status.py +49 -0
- endoreg_db/views/{views_for_timeline.py → video/timeline.py} +3 -3
- endoreg_db/views/video/video_analyze.py +52 -0
- endoreg_db/views/video/video_apply_mask.py +48 -0
- endoreg_db/views/video/video_correction.py +21 -0
- endoreg_db/views/video/video_download_processed.py +58 -0
- endoreg_db/views/video/video_examination_viewset.py +329 -0
- endoreg_db/views/video/video_media.py +158 -0
- endoreg_db/views/video/video_meta.py +29 -0
- endoreg_db/views/video/video_processing_history.py +24 -0
- endoreg_db/views/video/video_remove_frames.py +48 -0
- endoreg_db/views/video/video_reprocess.py +40 -0
- endoreg_db/views/video/video_stream.py +306 -0
- endoreg_db-0.8.2.dist-info/METADATA +384 -0
- endoreg_db-0.8.2.dist-info/RECORD +790 -0
- endoreg_db/data/agl_service/data.yaml +0 -19
- endoreg_db/data/finding_location_classification/colonoscopy.yaml +0 -46
- endoreg_db/data/finding_morphology_classification/colonoscopy.yaml +0 -48
- endoreg_db/data/finding_morphology_classification_choice/colonoscopy_size.yaml +0 -57
- endoreg_db/management/commands/_load_model_template.py +0 -41
- endoreg_db/management/commands/delete_all.py +0 -18
- endoreg_db/management/commands/fetch_legacy_image_dataset.py +0 -32
- endoreg_db/management/commands/fix_auth_permission.py +0 -20
- endoreg_db/management/commands/load_active_model_data.py +0 -45
- endoreg_db/management/commands/load_g_play_data.py +0 -113
- endoreg_db/management/commands/load_logging_data.py +0 -39
- endoreg_db/management/commands/load_lx_data.py +0 -64
- endoreg_db/management/commands/load_medication_indication_data.py +0 -63
- endoreg_db/management/commands/load_medication_indication_type_data.py +0 -41
- endoreg_db/management/commands/load_medication_intake_time_data.py +0 -41
- endoreg_db/management/commands/load_medication_schedule_data.py +0 -55
- endoreg_db/management/commands/load_network_data.py +0 -57
- endoreg_db/migrations/0002_alter_frame_image_alter_rawframe_image.py +0 -23
- endoreg_db/migrations/0003_alter_frame_image_alter_rawframe_image.py +0 -23
- endoreg_db/migrations/0004_alter_rawvideofile_file_alter_video_file.py +0 -25
- endoreg_db/migrations/0005_rawvideofile_frame_count_and_more.py +0 -33
- endoreg_db/migrations/0006_frame_extracted_rawframe_extracted.py +0 -23
- endoreg_db/migrations/0007_rename_pseudo_patient_video_patient_and_more.py +0 -24
- endoreg_db/migrations/0008_remove_reportfile_patient_examination_and_more.py +0 -48
- endoreg_db/migrations/0009_requirementoperator_requirementsettype_and_more.py +0 -154
- endoreg_db/models/ai_model/active_model.py +0 -9
- endoreg_db/models/ai_model/ai_model.py +0 -90
- endoreg_db/models/ai_model/lightning/__init__.py +0 -3
- endoreg_db/models/ai_model/lightning/predict.py +0 -172
- endoreg_db/models/ai_model/lightning/prediction_visualizer.py +0 -55
- endoreg_db/models/ai_model/lightning/run_visualizer.py +0 -21
- endoreg_db/models/ai_model/model_meta.py +0 -240
- endoreg_db/models/annotation/__init__.py +0 -32
- endoreg_db/models/annotation/anonymized_image_annotation.py +0 -115
- endoreg_db/models/annotation/binary_classification_annotation_task.py +0 -117
- endoreg_db/models/annotation/image_classification.py +0 -86
- endoreg_db/models/annotation/video_segmentation_annotation.py +0 -52
- endoreg_db/models/case/__init__.py +0 -1
- endoreg_db/models/case/case.py +0 -34
- endoreg_db/models/center/center.py +0 -51
- endoreg_db/models/center/center_product.py +0 -33
- endoreg_db/models/center/center_waste.py +0 -16
- endoreg_db/models/data_file/__init__.py +0 -39
- endoreg_db/models/data_file/base_classes/__init__.py +0 -7
- endoreg_db/models/data_file/base_classes/abstract_frame.py +0 -98
- endoreg_db/models/data_file/base_classes/abstract_pdf.py +0 -127
- endoreg_db/models/data_file/base_classes/abstract_video.py +0 -806
- endoreg_db/models/data_file/base_classes/frame_helpers.py +0 -17
- endoreg_db/models/data_file/base_classes/prepare_bulk_frames.py +0 -19
- endoreg_db/models/data_file/base_classes/utils.py +0 -58
- endoreg_db/models/data_file/frame.py +0 -29
- endoreg_db/models/data_file/import_classes/__init__.py +0 -18
- endoreg_db/models/data_file/import_classes/processing_functions/__init__.py +0 -35
- endoreg_db/models/data_file/import_classes/processing_functions/pdf.py +0 -28
- endoreg_db/models/data_file/import_classes/processing_functions/video.py +0 -260
- endoreg_db/models/data_file/import_classes/raw_pdf.py +0 -254
- endoreg_db/models/data_file/import_classes/raw_video.py +0 -290
- endoreg_db/models/data_file/metadata/sensitive_meta.py +0 -290
- endoreg_db/models/data_file/metadata/video_meta.py +0 -199
- endoreg_db/models/data_file/report_file.py +0 -56
- endoreg_db/models/data_file/video/__init__.py +0 -11
- endoreg_db/models/data_file/video/import_meta.py +0 -25
- endoreg_db/models/data_file/video/video.py +0 -196
- endoreg_db/models/data_file/video_segment.py +0 -214
- endoreg_db/models/examination/examination.py +0 -67
- endoreg_db/models/finding/__init__.py +0 -11
- endoreg_db/models/finding/finding.py +0 -75
- endoreg_db/models/finding/finding_location_classification.py +0 -94
- endoreg_db/models/finding/finding_morphology_classification.py +0 -89
- endoreg_db/models/finding/finding_type.py +0 -22
- endoreg_db/models/hardware/__init__.py +0 -2
- endoreg_db/models/information_source.py +0 -65
- endoreg_db/models/laboratory/__init__.py +0 -1
- endoreg_db/models/laboratory/lab_value.py +0 -162
- endoreg_db/models/logging/__init__.py +0 -11
- endoreg_db/models/logging/agl_service.py +0 -19
- endoreg_db/models/logging/base.py +0 -22
- endoreg_db/models/logging/log_type.py +0 -23
- endoreg_db/models/logging/network_device.py +0 -27
- endoreg_db/models/lx/__init__.py +0 -4
- endoreg_db/models/lx/client.py +0 -57
- endoreg_db/models/lx/identity.py +0 -34
- endoreg_db/models/lx/permission.py +0 -18
- endoreg_db/models/lx/user.py +0 -16
- endoreg_db/models/network/__init__.py +0 -9
- endoreg_db/models/network/agl_service.py +0 -38
- endoreg_db/models/network/network_device.py +0 -58
- endoreg_db/models/network/network_device_type.py +0 -23
- endoreg_db/models/other/distribution.py +0 -5
- endoreg_db/models/patient/__init__.py +0 -24
- endoreg_db/models/patient/patient_examination.py +0 -182
- endoreg_db/models/patient/patient_finding.py +0 -143
- endoreg_db/models/patient/patient_finding_location.py +0 -120
- endoreg_db/models/patient/patient_finding_morphology.py +0 -166
- endoreg_db/models/permissions/__init__.py +0 -44
- endoreg_db/models/persons/__init__.py +0 -34
- endoreg_db/models/persons/examiner/__init__.py +0 -2
- endoreg_db/models/persons/examiner/examiner.py +0 -60
- endoreg_db/models/persons/examiner/examiner_type.py +0 -2
- endoreg_db/models/persons/patient/__init__.py +0 -8
- endoreg_db/models/persons/patient/patient.py +0 -389
- endoreg_db/models/persons/patient/patient_disease.py +0 -22
- endoreg_db/models/persons/patient/patient_event.py +0 -52
- endoreg_db/models/persons/patient/patient_lab_sample.py +0 -108
- endoreg_db/models/persons/patient/patient_medication.py +0 -59
- endoreg_db/models/persons/patient/patient_medication_schedule.py +0 -88
- endoreg_db/models/persons/portal_user_information.py +0 -27
- endoreg_db/models/prediction/__init__.py +0 -8
- endoreg_db/models/prediction/image_classification.py +0 -51
- endoreg_db/models/prediction/video_prediction_meta.py +0 -306
- endoreg_db/models/product/product.py +0 -110
- endoreg_db/models/product/product_group.py +0 -27
- endoreg_db/models/product/product_material.py +0 -28
- endoreg_db/models/questionnaires/__init__.py +0 -114
- endoreg_db/models/quiz/__init__.py +0 -9
- endoreg_db/models/quiz/quiz_answer.py +0 -41
- endoreg_db/models/quiz/quiz_question.py +0 -54
- endoreg_db/models/report_reader/report_reader_config.py +0 -53
- endoreg_db/models/rules/__init__.py +0 -5
- endoreg_db/queries/get/__init__.py +0 -6
- endoreg_db/queries/get/center.py +0 -42
- endoreg_db/queries/get/model.py +0 -13
- endoreg_db/queries/get/patient.py +0 -14
- endoreg_db/queries/get/patient_examination.py +0 -20
- endoreg_db/queries/get/report_file.py +0 -33
- endoreg_db/queries/get/video.py +0 -31
- endoreg_db/serializers/ai_model.py +0 -19
- endoreg_db/serializers/annotation.py +0 -14
- endoreg_db/serializers/center.py +0 -11
- endoreg_db/serializers/examination.py +0 -33
- endoreg_db/serializers/frame.py +0 -9
- endoreg_db/serializers/hardware.py +0 -21
- endoreg_db/serializers/label.py +0 -22
- endoreg_db/serializers/patient.py +0 -33
- endoreg_db/serializers/prediction.py +0 -10
- endoreg_db/serializers/raw_pdf_anony_text_validation.py +0 -137
- endoreg_db/serializers/report_file.py +0 -7
- endoreg_db/serializers/video.py +0 -20
- endoreg_db/serializers/video_segmentation.py +0 -574
- endoreg_db/tests.py +0 -3
- endoreg_db/utils/legacy_ocr.py +0 -201
- endoreg_db/utils/video/transcode_videofile.py +0 -111
- endoreg_db/views/patient_views.py +0 -90
- endoreg_db/views/raw_pdf_anony_text_validation_views.py +0 -95
- endoreg_db/views/raw_pdf_meta_validation_views.py +0 -111
- endoreg_db/views/raw_video_meta_validation_views.py +0 -148
- endoreg_db/views/report_views.py +0 -96
- endoreg_db/views/video_segmentation_views.py +0 -166
- endoreg_db-0.6.4.dist-info/METADATA +0 -161
- endoreg_db-0.6.4.dist-info/RECORD +0 -470
- /endoreg_db/{case_generator/__init__.py → api/serializers/finding_descriptions.py} +0 -0
- /endoreg_db/{queries/get/annotation.py → api/views/finding_descriptions.py} +0 -0
- /endoreg_db/{queries/get/prediction.py → data/shift/m2.yaml} +0 -0
- /endoreg_db/{queries/get/video_import_meta.py → factories/__init__.py} +0 -0
- /endoreg_db/{queries/get/video_prediction_meta.py → helpers/__init__.py} +0 -0
- /endoreg_db/models/{case_template → administration/case/case_template}/__init__.py +0 -0
- /endoreg_db/models/{persons → administration/person}/person.py +0 -0
- /endoreg_db/models/{product → administration/product}/__init__.py +0 -0
- /endoreg_db/models/{report_reader → media/pdf/report_reader}/__init__.py +0 -0
- /endoreg_db/models/{report_reader → media/pdf/report_reader}/report_reader_flag.py +0 -0
- /endoreg_db/models/{hardware → medical/hardware}/endoscopy_processor.py +0 -0
- /endoreg_db/models/{medication → medical/medication}/__init__.py +0 -0
- /endoreg_db/models/{medication → medical/medication}/medication_indication.py +0 -0
- /endoreg_db/models/{risk → medical/risk}/__init__.py +0 -0
- /endoreg_db/models/{risk → medical/risk}/risk.py +0 -0
- /endoreg_db/models/{emission → other/emission}/__init__.py +0 -0
- /endoreg_db/models/{rules → rule}/rule_applicator.py +0 -0
- /endoreg_db/{case_generator → utils/case_generator}/case_generator.py +0 -0
- /endoreg_db/{case_generator → utils/case_generator}/lab_sample_factory.py +0 -0
- /endoreg_db/{case_generator → utils/case_generator}/utils.py +0 -0
- /endoreg_db/views/{csrf.py → misc/csrf.py} +0 -0
- {endoreg_db-0.6.4.dist-info → endoreg_db-0.8.2.dist-info}/WHEEL +0 -0
- {endoreg_db-0.6.4.dist-info → endoreg_db-0.8.2.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,128 +1,129 @@
|
|
|
1
1
|
- model: endoreg_db.requirement_operator
|
|
2
2
|
fields:
|
|
3
|
-
name: "
|
|
3
|
+
name: "lab_latest_numeric_normal"
|
|
4
4
|
name_de: "Laborwert normal"
|
|
5
5
|
name_en: "Lab value normal"
|
|
6
6
|
description: "Make sure that the provided numeric lab value is within the normal range. The normal range is defined using the numeric_value_min and numeric_value_max fields. To work, the passed lab value must have a reference value"
|
|
7
|
-
|
|
7
|
+
|
|
8
8
|
# lab_numeric_increased
|
|
9
9
|
- model: endoreg_db.requirement_operator
|
|
10
10
|
fields:
|
|
11
|
-
name: "
|
|
11
|
+
name: "lab_latest_numeric_increased"
|
|
12
12
|
name_de: "Laborwert erhöht"
|
|
13
13
|
name_en: "Lab value increased"
|
|
14
14
|
description: "Make sure that the provided numeric lab value is above the normal range. The normal range is defined using the numeric_value_min and numeric_value_max fields."
|
|
15
|
-
|
|
15
|
+
|
|
16
16
|
- model: endoreg_db.requirement_operator
|
|
17
17
|
fields:
|
|
18
|
-
name: "
|
|
18
|
+
name: "lab_latest_numeric_decreased"
|
|
19
19
|
name_de: "Laborwert verringert"
|
|
20
20
|
name_en: "Lab value decreased"
|
|
21
21
|
description: "Make sure that the provided numeric lab value is below the normal range. The normal range is defined using the numeric_value_min and numeric_value_max fields."
|
|
22
|
-
|
|
22
|
+
|
|
23
23
|
- model: endoreg_db.requirement_operator
|
|
24
24
|
fields:
|
|
25
|
-
name: "
|
|
25
|
+
name: "lab_latest_numeric_decreased_factor"
|
|
26
26
|
name_de: "Laborwert um Faktor verringert"
|
|
27
27
|
name_en: "Lab value decreased by factor"
|
|
28
28
|
description: "Make sure that the provided numeric lab value is decreased by a factor. The factor is defined using the numeric_value_min field."
|
|
29
|
-
|
|
29
|
+
|
|
30
30
|
- model: endoreg_db.requirement_operator
|
|
31
31
|
fields:
|
|
32
|
-
name: "
|
|
32
|
+
name: "lab_latest_numeric_increased_factor"
|
|
33
33
|
name_de: "Laborwert um Faktor erhöht"
|
|
34
34
|
name_en: "Lab value increased by factor"
|
|
35
35
|
description: "Make sure that the provided numeric lab value is increased by a factor. The factor is defined using the numeric_value_min field."
|
|
36
|
-
|
|
36
|
+
|
|
37
37
|
- model: endoreg_db.requirement_operator
|
|
38
38
|
fields:
|
|
39
|
-
name: "
|
|
39
|
+
name: "lab_latest_numeric_lower_than_value"
|
|
40
40
|
name_de: "Laborwert kleiner als Wert"
|
|
41
41
|
name_en: "Lab value lower than value"
|
|
42
42
|
description: "Make sure that the provided numeric lab value is lower than the given value. The value is defined using the numeric_value_min field."
|
|
43
|
-
|
|
43
|
+
|
|
44
44
|
- model: endoreg_db.requirement_operator
|
|
45
45
|
fields:
|
|
46
|
-
name: "
|
|
46
|
+
name: "lab_latest_numeric_greater_than_value"
|
|
47
47
|
name_de: "Laborwert größer als Wert"
|
|
48
48
|
name_en: "Lab value greater than value"
|
|
49
49
|
description: "Make sure that the provided numeric lab value is greater than the given value. The value is defined using the numeric_value_min field."
|
|
50
|
-
|
|
50
|
+
|
|
51
51
|
# Timeframe
|
|
52
52
|
- model: endoreg_db.requirement_operator
|
|
53
53
|
fields:
|
|
54
|
-
name: "
|
|
54
|
+
name: "lab_latest_numeric_normal_in_timeframe"
|
|
55
55
|
name_de: "Laborwert normal im angegebenen Zeitraum"
|
|
56
56
|
name_en: "Lab value normal in the given timeframe"
|
|
57
57
|
description: "Make sure that the provided numeric lab value is always within the normal range within the given timeframe. The normal range is defined using the numeric_value_min and numeric_value_max fields and the timeframe is defined using numeric_value_min and numeric_value_max and setting the unit to a fitting one (e.g. week)."
|
|
58
|
-
|
|
58
|
+
|
|
59
59
|
- model: endoreg_db.requirement_operator
|
|
60
60
|
fields:
|
|
61
|
-
name: "
|
|
61
|
+
name: "lab_latest_numeric_decreased_factor_in_timeframe"
|
|
62
62
|
name_de: "Laborwert um Faktor verringert im angegebenen Zeitraum"
|
|
63
63
|
name_en: "Lab value decreased by factor in the given timeframe"
|
|
64
64
|
description: "Make sure that the provided numeric lab value is always decreased by a factor within the given timeframe. The factor is defined using the numeric_value_min field and the timeframe is defined using numeric_value_min and numeric_value_max and setting the unit to a fitting one (e.g. week)."
|
|
65
|
-
|
|
65
|
+
|
|
66
66
|
- model: endoreg_db.requirement_operator
|
|
67
67
|
fields:
|
|
68
|
-
name: "
|
|
68
|
+
name: "lab_latest_numeric_increased_factor_in_timeframe"
|
|
69
69
|
name_de: "Laborwert um Faktor erhöht im angegebenen Zeitraum"
|
|
70
70
|
name_en: "Lab value increased by factor in the given timeframe"
|
|
71
71
|
description: "Make sure that the provided numeric lab value is always increased by a factor within the given timeframe. The factor is defined using the numeric_value_min field and the timeframe is defined using numeric_value_min and numeric_value_max and setting the unit to a fitting one (e.g. week)."
|
|
72
|
-
|
|
72
|
+
|
|
73
73
|
- model: endoreg_db.requirement_operator
|
|
74
74
|
fields:
|
|
75
|
-
name: "
|
|
75
|
+
name: "lab_latest_numeric_lower_than_value_in_timeframe"
|
|
76
76
|
name_de: "Laborwert kleiner als Wert im angegebenen Zeitraum"
|
|
77
77
|
name_en: "Lab value lower than value in the given timeframe"
|
|
78
78
|
description: "Make sure that the provided numeric lab value is lower than the given value within the given timeframe. The value is defined using the numeric_value_min field and the timeframe is defined using numeric_value_min and numeric_value_max and setting the unit to a fitting one (e.g. week)."
|
|
79
|
-
|
|
79
|
+
|
|
80
80
|
- model: endoreg_db.requirement_operator
|
|
81
81
|
fields:
|
|
82
|
-
name: "
|
|
82
|
+
name: "lab_latest_numeric_greater_than_value_in_timeframe"
|
|
83
83
|
name_de: "Laborwert größer als Wert im angegebenen Zeitraum"
|
|
84
84
|
name_en: "Lab value greater than value in the given timeframe"
|
|
85
85
|
description: "Make sure that the provided numeric lab value is greater than the given value within the given timeframe. The value is defined using the numeric_value_min field and the timeframe is defined using numeric_value_min and numeric_value_max and setting the unit to a fitting one (e.g. week)."
|
|
86
|
-
|
|
86
|
+
|
|
87
87
|
- model: endoreg_db.requirement_operator
|
|
88
88
|
fields:
|
|
89
|
-
name: "
|
|
89
|
+
name: "lab_latest_categorical_match"
|
|
90
90
|
name_de: "Text-basierter Laborwert entspricht exakt"
|
|
91
91
|
name_en: "Text-based lab value matches exactly"
|
|
92
92
|
description: "Make sure that the provided categorical lab value matches exactly the given value. The value is defined using the string_value field."
|
|
93
|
-
|
|
93
|
+
|
|
94
94
|
- model: endoreg_db.requirement_operator
|
|
95
95
|
fields:
|
|
96
|
-
name: "
|
|
96
|
+
name: "lab_latest_categorical_match_substring"
|
|
97
97
|
name_de: "Text-basierter Laborwert enthält Teilstring"
|
|
98
98
|
name_en: "Text-based lab value contains substring"
|
|
99
99
|
description: "Make sure that the provided categorical lab value contains the given substring. The substring is defined using the string_value field."
|
|
100
|
-
|
|
100
|
+
|
|
101
101
|
- model: endoreg_db.requirement_operator
|
|
102
102
|
fields:
|
|
103
|
-
name: "
|
|
103
|
+
name: "lab_latest_categorical_match_regex"
|
|
104
104
|
name_de: "Text-basierter Laborwert entspricht Regex"
|
|
105
105
|
name_en: "Text-based lab value matches regex"
|
|
106
106
|
description: "Make sure that the provided categorical lab value matches the given regex. The regex is defined using the string_value field."
|
|
107
|
-
|
|
107
|
+
|
|
108
108
|
# Timeframe
|
|
109
109
|
- model: endoreg_db.requirement_operator
|
|
110
110
|
fields:
|
|
111
|
-
name: "
|
|
111
|
+
name: "lab_latest_categorical_match_in_timeframe"
|
|
112
112
|
name_de: "Text-basierter Laborwert entspricht exakt im angegebenen Zeitraum"
|
|
113
113
|
name_en: "Text-based lab value matches exactly in the given timeframe"
|
|
114
114
|
description: "Make sure that the provided categorical lab value matches exactly the given value within the given timeframe. The value is defined using the string_value field and the timeframe is defined using numeric_value_min and numeric_value_max and setting the unit to a fitting one (e.g. week)."
|
|
115
|
-
|
|
115
|
+
|
|
116
116
|
- model: endoreg_db.requirement_operator
|
|
117
117
|
fields:
|
|
118
|
-
name: "
|
|
118
|
+
name: "lab_latest_categorical_match_substring_in_timeframe"
|
|
119
119
|
name_de: "Text-basierter Laborwert enthält Teilstring im angegebenen Zeitraum"
|
|
120
120
|
name_en: "Text-based lab value contains substring in the given timeframe"
|
|
121
121
|
description: "Make sure that the provided categorical lab value contains the given substring within the given timeframe. The substring is defined using the string_value field and the timeframe is defined using numeric_value_min and numeric_value_max and setting the unit to a fitting one (e.g. week)."
|
|
122
|
-
|
|
122
|
+
|
|
123
123
|
- model: endoreg_db.requirement_operator
|
|
124
124
|
fields:
|
|
125
|
-
name: "
|
|
125
|
+
name: "lab_latest_categorical_match_regex_in_timeframe"
|
|
126
126
|
name_de: "Text-basierter Laborwert entspricht Regex im angegebenen Zeitraum"
|
|
127
127
|
name_en: "Text-based lab value matches regex in the given timeframe"
|
|
128
128
|
description: "Make sure that the provided categorical lab value matches the given regex within the given timeframe. The regex is defined using the string_value field and the timeframe is defined using numeric_value_min and numeric_value_max and setting the unit to a fitting one (e.g. week)."
|
|
129
|
+
|
|
@@ -47,6 +47,13 @@
|
|
|
47
47
|
name_en: "Number of models is in the given range"
|
|
48
48
|
description: "Make sure that the number of provided Foreign Key models is in the given range. The range is defined using numeric_value_min and numeric_value_max."
|
|
49
49
|
|
|
50
|
+
- model: endoreg_db.requirement_operator
|
|
51
|
+
fields:
|
|
52
|
+
name: "models_match_any_in_timeframe"
|
|
53
|
+
name_de: "Mindestens ein Modell existiert im angegebenen Zeitraum"
|
|
54
|
+
name_en: "At least one model exists in the given timeframe"
|
|
55
|
+
description: "Make sure that at least one of the provided Foreign Key models exist and its associated date falls within the specified timeframe. Timeframe is defined by numeric_value_min, numeric_value_max, and unit on the Requirement."
|
|
56
|
+
|
|
50
57
|
- model: endoreg_db.requirement_operator
|
|
51
58
|
fields:
|
|
52
59
|
name: "models_match_all_in_timeframe"
|
|
@@ -54,13 +61,6 @@
|
|
|
54
61
|
name_en: "Models exist in the given timeframe"
|
|
55
62
|
description: "Make sure that all the provided Foreign Key models have a date within the given timeframe. The timeframe is defined using numeric_value_min and numeric_value_max and setting the unit to a fitting one (e.g. week)."
|
|
56
63
|
|
|
57
|
-
- model: endoreg_db.requirement_operator
|
|
58
|
-
fields:
|
|
59
|
-
name: "models_match_any_in_timeframe"
|
|
60
|
-
name_de: "Mindestens ein Modell existiert im angegebenen Zeitraum"
|
|
61
|
-
name_en: "At least one model exists in the given timeframe"
|
|
62
|
-
description: "Make sure that at least one of the provided Foreign Key models has a date within the given timeframe. The timeframe is defined using numeric_value_min and numeric_value_max and setting the unit to a fitting one (e.g. week)."
|
|
63
|
-
|
|
64
64
|
- model: endoreg_db.requirement_operator
|
|
65
65
|
fields:
|
|
66
66
|
name: "models_match_none_in_timeframe"
|
|
@@ -88,3 +88,9 @@
|
|
|
88
88
|
name_de: "Höchstens n Modelle existieren im angegebenen Zeitraum"
|
|
89
89
|
name_en: "At most n models exist in the given timeframe"
|
|
90
90
|
description: "Make sure that at most n of the provided Foreign Key models have a date within the given timeframe. The timeframe is defined using numeric_value_min and numeric_value_max and setting the unit to a fitting one (e.g. week). The number n is defined using the numeric_value_min field."
|
|
91
|
+
|
|
92
|
+
- model: endoreg_db.requirement_operator
|
|
93
|
+
fields:
|
|
94
|
+
name: "patient_medication_schedule_matches_template"
|
|
95
|
+
description: "Checks if any PatientMedication in the input PatientMedicationSchedule matches the profile (medication, dose, unit, intake times) of any MedicationSchedule template linked to the requirement."
|
|
96
|
+
evaluation_function_name: "_evaluate_patient_medication_schedule_matches_template"
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
- models: endoreg_db.requirement_set
|
|
2
|
+
fields:
|
|
3
|
+
name: "patient_gender_generic"
|
|
4
|
+
name_de: "Patientengeschlecht (männlich/weiblich)"
|
|
5
|
+
name_en: "Patient gender generic"
|
|
6
|
+
description: "Patient gender (generic)"
|
|
7
|
+
requirement_set_type: "any"
|
|
8
|
+
requirements:
|
|
9
|
+
- patient_gender_is_male
|
|
10
|
+
- patient_gender_is_female
|
|
11
|
+
|
|
12
|
+
- models: endoreg_db.requirement_set
|
|
13
|
+
fields:
|
|
14
|
+
name: "basic_lab_values_normal"
|
|
15
|
+
name_de: "Basis-Labortests (Unauffällig)"
|
|
16
|
+
name_en: "Basic Lab Tests (Normal)"
|
|
17
|
+
description: "Basic lab tests (normal)"
|
|
18
|
+
requirement_set_type: "all"
|
|
19
|
+
requirements:
|
|
20
|
+
- "lab_value_hb_normal"
|
|
21
|
+
- "lab_value_leukocytes_normal"
|
|
22
|
+
- "lab_value_platelets_normal"
|
|
23
|
+
- "lab_value_creatinine_normal"
|
|
24
|
+
- "lab_value_inr_normal"
|
|
25
|
+
|
|
26
|
+
- models: endoreg_db.requirement_set
|
|
27
|
+
fields:
|
|
28
|
+
name: "patient_age_generic"
|
|
29
|
+
name_de: "Patientenalter (18-100 Jahre)"
|
|
30
|
+
name_en: "Patient Age (18-100 years)"
|
|
31
|
+
description: "Patient age between 18 and 100 years"
|
|
32
|
+
requirement_set_type: "all"
|
|
33
|
+
requirements:
|
|
34
|
+
- "patient_age_gte_18"
|
|
35
|
+
- "patient_age_lte_100"
|
|
36
|
+
|
|
37
|
+
# - models: endoreg_db.requirement_set
|
|
38
|
+
- models: endoreg_db.requirement_set
|
|
39
|
+
fields:
|
|
40
|
+
name: "generic_patient"
|
|
41
|
+
requirement_set_type: "all"
|
|
42
|
+
description: "Generic patient requirement set"
|
|
43
|
+
name_de: "Generische Patientenanforderung"
|
|
44
|
+
name_en: "Generic Patient Requirement"
|
|
45
|
+
links_to_sets:
|
|
46
|
+
- "patient_age_generic"
|
|
47
|
+
- "patient_gender_generic"
|
|
48
|
+
- "basic_lab_values_normal"
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
- models: endoreg_db.requirement_set
|
|
4
|
+
fields:
|
|
5
|
+
name: "colonoscopy_austria_screening_finding_polyp_required_classifications"
|
|
6
|
+
name_de: "Vorsorge Koloskopie Österreich: Polyp"
|
|
7
|
+
requirement_set_type: "all"
|
|
8
|
+
links_to_sets: []
|
|
9
|
+
requirements:
|
|
10
|
+
- "colon_austria_screening_polyp_size"
|
|
11
|
+
- "colonoscopy_austria_screening_polyp_location"
|
|
12
|
+
- "colonoscopy_austria_screening_polyp_histology"
|
|
13
|
+
|
|
14
|
+
- models: endoreg_db.requirement_set
|
|
15
|
+
fields:
|
|
16
|
+
name: "colonoscopy_austria_screening_examination_complete"
|
|
17
|
+
requirement_set_type: "any"
|
|
18
|
+
requirements:
|
|
19
|
+
- "colonoscopy_austria_screening_examination_cecum_visualized"
|
|
20
|
+
- "colonoscopy_austria_screening_examination_reason_incomplete"
|
|
21
|
+
|
|
22
|
+
- models: endoreg_db.requirement_set
|
|
23
|
+
fields:
|
|
24
|
+
name: "colonoscopy_austria_screening_examination_required_findings"
|
|
25
|
+
links_to_sets:
|
|
26
|
+
- "colonoscopy_austria_screening_examination_complete"
|
|
27
|
+
requirement_set_type: "all"
|
|
28
|
+
requirements:
|
|
29
|
+
- "colonoscopy_austria_screening_bowel_prep"
|
|
30
|
+
- "colonoscopy_austria_screening_sedation"
|
|
31
|
+
|
|
32
|
+
- models: endoreg_db.requirement_set
|
|
33
|
+
fields:
|
|
34
|
+
name: "colonoscopy_austria_screening_required_patient_information"
|
|
35
|
+
name_de: "Vorsorge Koloskopie Österreich: Patienteninformation"
|
|
36
|
+
requirement_set_type: "all"
|
|
37
|
+
links_to_sets:
|
|
38
|
+
- "patient_gender_generic"
|
|
39
|
+
- "patient_age_generic"
|
|
40
|
+
|
|
41
|
+
- models: endoreg_db.requirement_set
|
|
42
|
+
fields:
|
|
43
|
+
name: "colonoscopy_austria_screening_qa"
|
|
44
|
+
name_de: "Vorsorge Koloskopie Österreich QA"
|
|
45
|
+
name_en: "Colonoscopy Austria Screening QA"
|
|
46
|
+
description: "Colonoscopy Austria Screening QA"
|
|
47
|
+
requirement_set_type: "all"
|
|
48
|
+
links_to_sets:
|
|
49
|
+
- "colonoscopy_austria_screening_finding_polyp_required_classifications"
|
|
50
|
+
- "colonoscopy_austria_screening_required_patient_information"
|
|
51
|
+
- "colonoscopy_austria_screening_examination_required_findings"
|
|
52
|
+
tags:
|
|
53
|
+
- "report_mask_requirement_set"
|
|
54
|
+
- "colonoscopy_austria_screening"
|
|
55
|
+
reqset_exam_links:
|
|
56
|
+
- "colonoscopy_austria_req_sets"
|
|
57
|
+
- "colonoscopy_req_sets"
|
|
@@ -6,7 +6,47 @@
|
|
|
6
6
|
description: "Endoskopie - Blutungsrisiko: hoch"
|
|
7
7
|
# linked_sets: [] # if this rule depends on others
|
|
8
8
|
requirement_set_type: "any"
|
|
9
|
-
information_sources:
|
|
10
|
-
- "guideline_quality_in_gi"
|
|
11
9
|
requirements:
|
|
12
10
|
- "endoscopy_intervention_bleeding_risk_high"
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
- models: endoreg_db.requirement_set
|
|
15
|
+
fields:
|
|
16
|
+
name: "endoscopy_bleeding_risk_low"
|
|
17
|
+
name_de: "Endoskopie - Blutungsrisiko: niedrig"
|
|
18
|
+
name_en: "Endoscopy - Bleeding Risk: Low"
|
|
19
|
+
description: "Endoskopie - Blutungsrisiko: niedrig"
|
|
20
|
+
# linked_sets: [] # if this rule depends on others
|
|
21
|
+
requirement_set_type: "any"
|
|
22
|
+
requirements:
|
|
23
|
+
- "endoscopy_intervention_bleeding_risk_low"
|
|
24
|
+
links_to_sets: []
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
- models: endoreg_db.requirement_set
|
|
30
|
+
fields:
|
|
31
|
+
name: "patient_medication_indication_anticoagulation"
|
|
32
|
+
name_de: "Patientenmedikation - Antikoagulation"
|
|
33
|
+
name_en: "Patient Medication - Anticoagulation"
|
|
34
|
+
description: "Patient medication - anticoagulation"
|
|
35
|
+
requirement_set_type: "any"
|
|
36
|
+
requirements:
|
|
37
|
+
- "indication_non_valvular_af_apixaban_is_defined_in_requirement"
|
|
38
|
+
- "indication_after_hip_apixaban_is_defined_in_requirement"
|
|
39
|
+
- "indication_after_knee_apixaban_is_defined_in_requirement"
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
- models: endoreg_db.requirement_set
|
|
43
|
+
fields:
|
|
44
|
+
name: "high_bleed_risk_endoscopy_w_patient_w_anticoagulation"
|
|
45
|
+
name_de: "Endoskopie - hohes Blutungsrisiko mit generischen Patientenanforderungen"
|
|
46
|
+
name_en: "High Bleed Risk Endoscopy with Generic Patient Requirements"
|
|
47
|
+
description: "High bleed risk endoscopy with generic patient requirements"
|
|
48
|
+
requirement_set_type: "all"
|
|
49
|
+
links_to_sets:
|
|
50
|
+
- "endoscopy_bleeding_risk_high"
|
|
51
|
+
- "generic_patient"
|
|
52
|
+
- "patient_medication_indication_anticoagulation"
|
|
@@ -5,6 +5,27 @@
|
|
|
5
5
|
name_en: "Patient examination"
|
|
6
6
|
description: "Requirements of this type are used on PatientExamination Objects."
|
|
7
7
|
|
|
8
|
+
- model: endoreg_db.requirement_type
|
|
9
|
+
fields:
|
|
10
|
+
name: "patient_lab_sample"
|
|
11
|
+
name_de: "Patientenlabormuster"
|
|
12
|
+
name_en: "Patient lab sample"
|
|
13
|
+
description: "Requirements of this type are used on PatientLabSample Objects."
|
|
14
|
+
|
|
15
|
+
- model: endoreg_db.requirement_type
|
|
16
|
+
fields:
|
|
17
|
+
name: "patient_lab_value"
|
|
18
|
+
name_de: "Patientenlaborwert"
|
|
19
|
+
name_en: "Patient lab value"
|
|
20
|
+
description: "Requirements of this type are used on PatientLabValue Objects."
|
|
21
|
+
|
|
22
|
+
- model: endoreg_db.requirement_type
|
|
23
|
+
fields:
|
|
24
|
+
name: "patient_disease"
|
|
25
|
+
name_de: "Patientenerkrankung"
|
|
26
|
+
name_en: "Patient Disease"
|
|
27
|
+
description: "Requirements of this type are used on PatientDisease Objects."
|
|
28
|
+
|
|
8
29
|
- model: endoreg_db.requirement_type
|
|
9
30
|
fields:
|
|
10
31
|
name: "examination"
|
|
@@ -81,3 +102,64 @@
|
|
|
81
102
|
name_de: "Befundinterventionen (multiple)"
|
|
82
103
|
name_en: "Finding Interventions (multiple)"
|
|
83
104
|
description: "Finding interventions (multiple) requirements"
|
|
105
|
+
|
|
106
|
+
- model: endoreg_db.requirement_type
|
|
107
|
+
fields:
|
|
108
|
+
name: "patient"
|
|
109
|
+
name_de: "Patient"
|
|
110
|
+
name_en: "Patient"
|
|
111
|
+
description: "Relates to a patient record."
|
|
112
|
+
|
|
113
|
+
- model: endoreg_db.requirement_type
|
|
114
|
+
fields:
|
|
115
|
+
name: "patient_event"
|
|
116
|
+
name_de: "Patientenereignis"
|
|
117
|
+
name_en: "Patient Event"
|
|
118
|
+
description: "Requirements of this type are used on PatientEvent Objects."
|
|
119
|
+
|
|
120
|
+
- model: endoreg_db.requirement_type
|
|
121
|
+
fields:
|
|
122
|
+
name: "patient_finding"
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
- model: endoreg_db.requirement_type
|
|
126
|
+
fields:
|
|
127
|
+
name: "patient_medication"
|
|
128
|
+
name_de: "Patientenmedikation"
|
|
129
|
+
name_en: "Patient Medication"
|
|
130
|
+
description: "Requirements of this type are used on PatientMedication Objects."
|
|
131
|
+
|
|
132
|
+
- model: endoreg_db.requirement_type
|
|
133
|
+
fields:
|
|
134
|
+
name: "medication"
|
|
135
|
+
name_de: "Medikament"
|
|
136
|
+
name_en: "Medication"
|
|
137
|
+
description: "Requirements of this type are used on Medication Objects."
|
|
138
|
+
|
|
139
|
+
- model: endoreg_db.requirement_type
|
|
140
|
+
fields:
|
|
141
|
+
name: "medication_indication"
|
|
142
|
+
name_de: "Medikationsindikation"
|
|
143
|
+
name_en: "Medication Indication"
|
|
144
|
+
description: "Requirements of this type are used on MedicationIndication Objects."
|
|
145
|
+
|
|
146
|
+
- model: endoreg_db.requirement_type
|
|
147
|
+
fields:
|
|
148
|
+
name: "medication_intake_time"
|
|
149
|
+
name_de: "Medikamenteneinnahmezeit"
|
|
150
|
+
name_en: "Medication Intake Time"
|
|
151
|
+
description: "Requirements of this type are used on MedicationIntakeTime Objects."
|
|
152
|
+
|
|
153
|
+
- model: endoreg_db.requirement_type
|
|
154
|
+
fields:
|
|
155
|
+
name: "medication_schedule"
|
|
156
|
+
name_de: "Medikationsschema"
|
|
157
|
+
name_en: "Medication Schedule"
|
|
158
|
+
description: "Requirements of this type are used on MedicationSchedule Objects."
|
|
159
|
+
|
|
160
|
+
- model: endoreg_db.requirement_type
|
|
161
|
+
fields:
|
|
162
|
+
name: "patient_medication_schedule"
|
|
163
|
+
name_de: "Patienten-Medikationsplan"
|
|
164
|
+
name_en: "Patient Medication Schedule"
|
|
165
|
+
description: "Represents a patient's overall medication schedule, which may contain multiple patient medications."
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
- model: endoreg_db.shift
|
|
2
|
+
fields:
|
|
3
|
+
name: "endoscopy_base"
|
|
4
|
+
name_de: "Endoskopie (Basis)"
|
|
5
|
+
name_en: "Endoscopy (Base)"
|
|
6
|
+
description: "This shift represents a basic, planned endoscopy shift (EGD, colonoscopy)."
|
|
7
|
+
required_qualifications:
|
|
8
|
+
- "endoscopy_base"
|
|
9
|
+
shift_types:
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
- model: endoreg_db.shift
|
|
13
|
+
fields:
|
|
14
|
+
name: "endoscopy_training"
|
|
15
|
+
name_de: "Endoskopie (Training)"
|
|
16
|
+
name_en: "Endoscopy (Training)"
|
|
17
|
+
description: "This shift represents a training endoscopy shift which is covered 1:1 with an experienced endoscopist."
|
|
18
|
+
required_qualifications:
|
|
19
|
+
- "endoscopy_supervised"
|
|
20
|
+
|
|
21
|
+
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
- model: endoreg_db.shift_type
|
|
2
|
+
fields:
|
|
3
|
+
name: "regular"
|
|
4
|
+
name_de: "Regulär"
|
|
5
|
+
name_en: "Regular"
|
|
6
|
+
|
|
7
|
+
- model: endoreg_db.shift_type
|
|
8
|
+
fields:
|
|
9
|
+
name: "supervision"
|
|
10
|
+
name_de: "Supervision"
|
|
11
|
+
name_en: "Supervision"
|
|
12
|
+
|
|
13
|
+
- model: endoreg_db.shift_type
|
|
14
|
+
fields:
|
|
15
|
+
name: "off_hours"
|
|
16
|
+
name_de: "Nicht reguläre Arbeitszeit ('Dienste')"
|
|
17
|
+
name_en: "Off Hours"
|
|
18
|
+
|
|
19
|
+
- model: endoreg_db.shift_type
|
|
20
|
+
fields:
|
|
21
|
+
name: "on_call"
|
|
22
|
+
name_de: "Bereitschaftsdienst"
|
|
23
|
+
name_en: "On Call"
|
|
24
|
+
|
|
25
|
+
- model: endoreg_db.shift_type
|
|
26
|
+
fields:
|
|
27
|
+
name: "ward"
|
|
28
|
+
name_de: "Station"
|
|
29
|
+
name_en: "Ward"
|
|
30
|
+
|
|
31
|
+
- model: endoreg_db.shift_type
|
|
32
|
+
fields:
|
|
33
|
+
name: "miscellaneous"
|
|
34
|
+
name_de: "Sonstiges"
|
|
35
|
+
name_en: "Miscellaneous"
|
|
@@ -6,6 +6,21 @@
|
|
|
6
6
|
name_en: "picogram per mililiter"
|
|
7
7
|
abbreviation: "pg/ml"
|
|
8
8
|
|
|
9
|
+
# gram per liter
|
|
10
|
+
- model: endoreg_db.unit
|
|
11
|
+
fields:
|
|
12
|
+
name: "gram per liter"
|
|
13
|
+
name_de: "Gramm pro Liter"
|
|
14
|
+
name_en: "gram per liter"
|
|
15
|
+
abbreviation: "g/L"
|
|
16
|
+
|
|
17
|
+
# micromole per liter:
|
|
18
|
+
- model: endoreg_db.unit
|
|
19
|
+
fields:
|
|
20
|
+
name: "micromole per liter"
|
|
21
|
+
name_de: "Mikromol pro Liter"
|
|
22
|
+
name_en: "micromole per liter"
|
|
23
|
+
abbreviation: "µmol/L"
|
|
9
24
|
|
|
10
25
|
- model: endoreg_db.unit
|
|
11
26
|
fields:
|
|
@@ -67,6 +82,14 @@
|
|
|
67
82
|
name_en: "miligram per deciliter"
|
|
68
83
|
description: "miligrams per deciliter, commonly used for various blood measurements."
|
|
69
84
|
|
|
85
|
+
- model: endoreg_db.Unit
|
|
86
|
+
fields:
|
|
87
|
+
name: "miligram per liter"
|
|
88
|
+
abbreviation: "mg/L"
|
|
89
|
+
name_de: "miligramm pro Liter"
|
|
90
|
+
name_en: "miligram per liter"
|
|
91
|
+
description: "miligrams per liter, a unit of measurement for concentration in blood."
|
|
92
|
+
|
|
70
93
|
# x 10^9 per liter
|
|
71
94
|
- model: endoreg_db.Unit
|
|
72
95
|
fields:
|
endoreg_db/exceptions.py
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
class InsufficientStorageError(Exception):
|
|
4
|
+
"""Raised when there's not enough disk space for an operation."""
|
|
5
|
+
|
|
6
|
+
def __init__(self, message, required_space=None, available_space=None):
|
|
7
|
+
super().__init__(message)
|
|
8
|
+
self.required_space = required_space
|
|
9
|
+
self.available_space = available_space
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class TranscodingError(Exception):
|
|
13
|
+
"""Raised when video transcoding fails."""
|
|
14
|
+
pass
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class VideoProcessingError(Exception):
|
|
18
|
+
"""Base class for video processing errors."""
|
|
19
|
+
pass
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
from django import forms
|
|
2
2
|
from endoreg_db.models import (
|
|
3
3
|
Patient, PatientExamination, Finding,
|
|
4
|
-
|
|
4
|
+
FindingClassification, FindingClassificationChoice,
|
|
5
5
|
FindingIntervention, PatientFindingIntervention
|
|
6
6
|
)
|
|
7
7
|
|
|
@@ -9,11 +9,10 @@ class PatientFindingInterventionForm(forms.ModelForm):
|
|
|
9
9
|
patient = forms.ModelChoiceField(queryset=Patient.objects.all(), required=True)
|
|
10
10
|
examination = forms.ModelChoiceField(queryset=PatientExamination.objects.none(), required=True)
|
|
11
11
|
finding = forms.ModelChoiceField(queryset=Finding.objects.none(), required=True)
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
morphology = forms.ModelChoiceField(queryset=FindingMorphologyClassification.objects.none(), required=True)
|
|
12
|
+
classification = forms.ModelChoiceField(queryset=FindingClassification.objects.none(), required=True)
|
|
13
|
+
classification_choice = forms.ModelChoiceField(queryset=FindingClassificationChoice.objects.none(), required=True)
|
|
15
14
|
interventions = forms.ModelMultipleChoiceField(queryset=FindingIntervention.objects.none(), widget=forms.CheckboxSelectMultiple, required=True)
|
|
16
15
|
|
|
17
16
|
class Meta:
|
|
18
17
|
model = PatientFindingIntervention
|
|
19
|
-
fields = ["patient", "examination", "finding", "
|
|
18
|
+
fields = ["patient", "examination", "finding", "classification", "classification_choice", "interventions"]
|
endoreg_db/forms/patient_form.py
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
from django import forms
|
|
2
2
|
from django.forms import ModelForm, Select
|
|
3
|
-
from endoreg_db.models
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
3
|
+
from endoreg_db.models import (
|
|
4
|
+
Patient,
|
|
5
|
+
Gender,
|
|
6
|
+
Center
|
|
7
|
+
)
|
|
8
|
+
|
|
9
|
+
|
|
9
10
|
class PatientForm(ModelForm):
|
|
10
11
|
gender = forms.ModelChoiceField(
|
|
11
12
|
queryset=Gender.objects.all(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
from .tto_questionnaire import TtoQuestionnaireForm, TtoQuestionnaireCreate
|
|
1
|
+
# from .tto_questionnaire import TtoQuestionnaireForm, TtoQuestionnaireCreate
|