endoreg-db 0.8.6.1__py3-none-any.whl → 0.8.8.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of endoreg-db might be problematic. Click here for more details.
- endoreg_db/authz/auth.py +74 -0
- endoreg_db/authz/backends.py +168 -0
- endoreg_db/authz/management/commands/list_routes.py +18 -0
- endoreg_db/authz/middleware.py +83 -0
- endoreg_db/authz/permissions.py +127 -0
- endoreg_db/authz/policy.py +218 -0
- endoreg_db/authz/views_auth.py +66 -0
- endoreg_db/config/env.py +13 -8
- endoreg_db/data/__init__.py +8 -31
- endoreg_db/data/_examples/disease.yaml +55 -0
- endoreg_db/data/_examples/disease_classification.yaml +13 -0
- endoreg_db/data/_examples/disease_classification_choice.yaml +62 -0
- endoreg_db/data/_examples/event.yaml +64 -0
- endoreg_db/data/_examples/examination.yaml +72 -0
- endoreg_db/data/_examples/finding/anatomy_colon.yaml +128 -0
- endoreg_db/data/_examples/finding/colonoscopy.yaml +40 -0
- endoreg_db/data/_examples/finding/colonoscopy_bowel_prep.yaml +56 -0
- endoreg_db/data/_examples/finding/complication.yaml +16 -0
- endoreg_db/data/_examples/finding/data.yaml +105 -0
- endoreg_db/data/_examples/finding/examination_setting.yaml +16 -0
- endoreg_db/data/_examples/finding/medication_related.yaml +18 -0
- endoreg_db/data/_examples/finding/outcome.yaml +12 -0
- endoreg_db/data/_examples/finding_classification/colonoscopy_bowel_preparation.yaml +68 -0
- endoreg_db/data/_examples/finding_classification/colonoscopy_jnet.yaml +22 -0
- endoreg_db/data/_examples/finding_classification/colonoscopy_kudo.yaml +25 -0
- endoreg_db/data/_examples/finding_classification/colonoscopy_lesion_circularity.yaml +20 -0
- endoreg_db/data/_examples/finding_classification/colonoscopy_lesion_planarity.yaml +24 -0
- endoreg_db/data/_examples/finding_classification/colonoscopy_lesion_size.yaml +68 -0
- endoreg_db/data/_examples/finding_classification/colonoscopy_lesion_surface.yaml +20 -0
- endoreg_db/data/_examples/finding_classification/colonoscopy_location.yaml +80 -0
- endoreg_db/data/_examples/finding_classification/colonoscopy_lst.yaml +21 -0
- endoreg_db/data/_examples/finding_classification/colonoscopy_nice.yaml +20 -0
- endoreg_db/data/_examples/finding_classification/colonoscopy_paris.yaml +26 -0
- endoreg_db/data/_examples/finding_classification/colonoscopy_sano.yaml +22 -0
- endoreg_db/data/_examples/finding_classification/colonoscopy_summary.yaml +53 -0
- endoreg_db/data/_examples/finding_classification/complication_generic.yaml +25 -0
- endoreg_db/data/_examples/finding_classification/examination_setting_generic.yaml +40 -0
- endoreg_db/data/_examples/finding_classification/histology_colo.yaml +51 -0
- endoreg_db/data/_examples/finding_classification/intervention_required.yaml +26 -0
- endoreg_db/data/_examples/finding_classification/medication_related.yaml +23 -0
- endoreg_db/data/_examples/finding_classification/visualized.yaml +33 -0
- endoreg_db/data/_examples/finding_classification_choice/bowel_preparation.yaml +78 -0
- endoreg_db/data/_examples/finding_classification_choice/colon_lesion_circularity_default.yaml +32 -0
- endoreg_db/data/_examples/finding_classification_choice/colon_lesion_jnet.yaml +15 -0
- endoreg_db/data/_examples/finding_classification_choice/colon_lesion_kudo.yaml +23 -0
- endoreg_db/data/_examples/finding_classification_choice/colon_lesion_lst.yaml +15 -0
- endoreg_db/data/_examples/finding_classification_choice/colon_lesion_nice.yaml +17 -0
- endoreg_db/data/_examples/finding_classification_choice/colon_lesion_paris.yaml +57 -0
- endoreg_db/data/_examples/finding_classification_choice/colon_lesion_planarity_default.yaml +49 -0
- endoreg_db/data/_examples/finding_classification_choice/colon_lesion_sano.yaml +14 -0
- endoreg_db/data/_examples/finding_classification_choice/colon_lesion_surface_intact_default.yaml +36 -0
- endoreg_db/data/_examples/finding_classification_choice/colonoscopy_location.yaml +229 -0
- endoreg_db/data/_examples/finding_classification_choice/colonoscopy_not_complete_reason.yaml +19 -0
- endoreg_db/data/_examples/finding_classification_choice/colonoscopy_size.yaml +82 -0
- endoreg_db/data/_examples/finding_classification_choice/colonoscopy_summary_worst_finding.yaml +15 -0
- endoreg_db/data/_examples/finding_classification_choice/complication_generic_types.yaml +15 -0
- endoreg_db/data/_examples/finding_classification_choice/examination_setting_generic_types.yaml +15 -0
- endoreg_db/data/_examples/finding_classification_choice/histology.yaml +24 -0
- endoreg_db/data/_examples/finding_classification_choice/histology_polyp.yaml +20 -0
- endoreg_db/data/_examples/finding_classification_choice/outcome.yaml +19 -0
- endoreg_db/data/_examples/finding_classification_choice/yes_no_na.yaml +11 -0
- endoreg_db/data/_examples/finding_classification_type/colonoscopy_basic.yaml +48 -0
- endoreg_db/data/_examples/finding_intervention/endoscopy.yaml +43 -0
- endoreg_db/data/_examples/finding_intervention/endoscopy_colonoscopy.yaml +168 -0
- endoreg_db/data/_examples/finding_intervention/endoscopy_egd.yaml +128 -0
- endoreg_db/data/_examples/finding_intervention/endoscopy_ercp.yaml +32 -0
- endoreg_db/data/_examples/finding_intervention/endoscopy_eus_lower.yaml +9 -0
- endoreg_db/data/_examples/finding_intervention/endoscopy_eus_upper.yaml +36 -0
- endoreg_db/data/_examples/finding_intervention_type/endoscopy.yaml +15 -0
- endoreg_db/data/_examples/finding_type/data.yaml +43 -0
- endoreg_db/data/_examples/requirement/age.yaml +26 -0
- endoreg_db/data/_examples/requirement/colonoscopy_baseline_austria.yaml +45 -0
- endoreg_db/data/_examples/requirement/disease_cardiovascular.yaml +79 -0
- endoreg_db/data/_examples/requirement/disease_classification_choice_cardiovascular.yaml +41 -0
- endoreg_db/data/_examples/requirement/disease_hepatology.yaml +12 -0
- endoreg_db/data/_examples/requirement/disease_misc.yaml +12 -0
- endoreg_db/data/_examples/requirement/disease_renal.yaml +96 -0
- endoreg_db/data/_examples/requirement/endoscopy_bleeding_risk.yaml +59 -0
- endoreg_db/data/_examples/requirement/event_cardiology.yaml +251 -0
- endoreg_db/data/_examples/requirement/event_requirements.yaml +145 -0
- endoreg_db/data/_examples/requirement/finding_colon_polyp.yaml +50 -0
- endoreg_db/data/_examples/requirement/gender.yaml +25 -0
- endoreg_db/data/_examples/requirement/lab_value.yaml +441 -0
- endoreg_db/data/_examples/requirement/medication.yaml +93 -0
- endoreg_db/data/_examples/requirement_operator/age.yaml +13 -0
- endoreg_db/data/_examples/requirement_operator/lab_operators.yaml +129 -0
- endoreg_db/data/_examples/requirement_operator/model_operators.yaml +96 -0
- endoreg_db/data/_examples/requirement_set/01_endoscopy_generic.yaml +48 -0
- endoreg_db/data/_examples/requirement_set/colonoscopy_austria_screening.yaml +57 -0
- endoreg_db/data/_examples/yaml_examples.xlsx +0 -0
- endoreg_db/data/ai_model_meta/default_multilabel_classification.yaml +4 -3
- endoreg_db/data/event_classification/data.yaml +4 -0
- endoreg_db/data/event_classification_choice/data.yaml +9 -0
- endoreg_db/data/finding_classification/colonoscopy_bowel_preparation.yaml +43 -70
- endoreg_db/data/finding_classification/colonoscopy_lesion_size.yaml +22 -52
- endoreg_db/data/finding_classification/colonoscopy_location.yaml +31 -62
- endoreg_db/data/finding_classification/histology_colo.yaml +28 -36
- endoreg_db/data/requirement/colon_polyp_intervention.yaml +49 -0
- endoreg_db/data/requirement/coloreg_colon_polyp.yaml +49 -0
- endoreg_db/data/requirement_set/01_endoscopy_generic.yaml +31 -12
- endoreg_db/data/requirement_set/01_laboratory.yaml +13 -0
- endoreg_db/data/requirement_set/02_endoscopy_bleeding_risk.yaml +46 -0
- endoreg_db/data/requirement_set/90_coloreg.yaml +178 -0
- endoreg_db/data/requirement_set/_old_ +109 -0
- endoreg_db/data/requirement_set_type/data.yaml +21 -0
- endoreg_db/data/setup_config.yaml +4 -4
- endoreg_db/data/tag/requirement_set_tags.yaml +21 -0
- endoreg_db/exceptions.py +5 -2
- endoreg_db/helpers/data_loader.py +1 -1
- endoreg_db/management/commands/create_model_meta_from_huggingface.py +21 -10
- endoreg_db/management/commands/create_multilabel_model_meta.py +299 -129
- endoreg_db/management/commands/import_video.py +9 -10
- endoreg_db/management/commands/import_video_with_classification.py +1 -1
- endoreg_db/management/commands/init_default_ai_model.py +1 -1
- endoreg_db/management/commands/list_routes.py +18 -0
- endoreg_db/management/commands/load_center_data.py +12 -12
- endoreg_db/management/commands/load_requirement_data.py +60 -31
- endoreg_db/management/commands/load_requirement_set_tags.py +95 -0
- endoreg_db/management/commands/setup_endoreg_db.py +3 -3
- endoreg_db/management/commands/storage_management.py +271 -203
- endoreg_db/migrations/0001_initial.py +1799 -1300
- endoreg_db/migrations/0002_requirementset_depends_on.py +18 -0
- endoreg_db/migrations/_old/0001_initial.py +1857 -0
- endoreg_db/migrations/_old/0004_employee_city_employee_post_code_employee_street_and_more.py +68 -0
- endoreg_db/migrations/_old/0004_remove_casetemplate_rules_and_more.py +77 -0
- endoreg_db/migrations/_old/0005_merge_20251111_1003.py +14 -0
- endoreg_db/migrations/_old/0006_sensitivemeta_anonymized_text_and_more.py +68 -0
- endoreg_db/migrations/_old/0007_remove_rule_attribute_dtype_remove_rule_rule_type_and_more.py +89 -0
- endoreg_db/migrations/_old/0008_remove_event_event_classification_and_more.py +27 -0
- endoreg_db/migrations/_old/0009_alter_modelmeta_options_and_more.py +21 -0
- endoreg_db/models/__init__.py +78 -123
- endoreg_db/models/administration/__init__.py +21 -42
- endoreg_db/models/administration/ai/active_model.py +2 -2
- endoreg_db/models/administration/ai/ai_model.py +7 -6
- endoreg_db/models/administration/case/__init__.py +1 -15
- endoreg_db/models/administration/case/case.py +3 -3
- endoreg_db/models/administration/case/case_template/__init__.py +2 -14
- endoreg_db/models/administration/case/case_template/case_template.py +2 -124
- endoreg_db/models/administration/case/case_template/case_template_rule.py +2 -268
- endoreg_db/models/administration/case/case_template/case_template_rule_value.py +2 -85
- endoreg_db/models/administration/case/case_template/case_template_type.py +2 -25
- endoreg_db/models/administration/center/center.py +33 -19
- endoreg_db/models/administration/center/center_product.py +12 -9
- endoreg_db/models/administration/center/center_resource.py +25 -19
- endoreg_db/models/administration/center/center_shift.py +21 -17
- endoreg_db/models/administration/center/center_waste.py +16 -8
- endoreg_db/models/administration/person/__init__.py +2 -0
- endoreg_db/models/administration/person/employee/employee.py +10 -5
- endoreg_db/models/administration/person/employee/employee_qualification.py +9 -4
- endoreg_db/models/administration/person/employee/employee_type.py +12 -6
- endoreg_db/models/administration/person/examiner/examiner.py +13 -11
- endoreg_db/models/administration/person/patient/__init__.py +2 -0
- endoreg_db/models/administration/person/patient/patient.py +103 -100
- endoreg_db/models/administration/person/patient/patient_external_id.py +37 -0
- endoreg_db/models/administration/person/person.py +4 -0
- endoreg_db/models/administration/person/profession/__init__.py +8 -4
- endoreg_db/models/administration/person/user/portal_user_information.py +11 -7
- endoreg_db/models/administration/product/product.py +20 -15
- endoreg_db/models/administration/product/product_material.py +17 -18
- endoreg_db/models/administration/product/product_weight.py +12 -8
- endoreg_db/models/administration/product/reference_product.py +23 -55
- endoreg_db/models/administration/qualification/qualification.py +7 -3
- endoreg_db/models/administration/qualification/qualification_type.py +7 -3
- endoreg_db/models/administration/shift/scheduled_days.py +8 -5
- endoreg_db/models/administration/shift/shift.py +16 -12
- endoreg_db/models/administration/shift/shift_type.py +23 -31
- endoreg_db/models/label/__init__.py +7 -8
- endoreg_db/models/label/annotation/image_classification.py +10 -9
- endoreg_db/models/label/annotation/video_segmentation_annotation.py +8 -5
- endoreg_db/models/label/label.py +15 -15
- endoreg_db/models/label/label_set.py +19 -6
- endoreg_db/models/label/label_type.py +1 -1
- endoreg_db/models/label/label_video_segment/_create_from_video.py +5 -8
- endoreg_db/models/label/label_video_segment/label_video_segment.py +76 -102
- endoreg_db/models/label/video_segmentation_label.py +4 -0
- endoreg_db/models/label/video_segmentation_labelset.py +4 -3
- endoreg_db/models/media/frame/frame.py +22 -22
- endoreg_db/models/media/pdf/raw_pdf.py +110 -182
- endoreg_db/models/media/pdf/report_file.py +25 -29
- endoreg_db/models/media/pdf/report_reader/report_reader_config.py +30 -46
- endoreg_db/models/media/pdf/report_reader/report_reader_flag.py +23 -7
- endoreg_db/models/media/video/__init__.py +1 -0
- endoreg_db/models/media/video/create_from_file.py +48 -56
- endoreg_db/models/media/video/pipe_2.py +8 -9
- endoreg_db/models/media/video/video_file.py +150 -108
- endoreg_db/models/media/video/video_file_ai.py +288 -74
- endoreg_db/models/media/video/video_file_anonymize.py +38 -38
- endoreg_db/models/media/video/video_file_frames/__init__.py +3 -1
- endoreg_db/models/media/video/video_file_frames/_bulk_create_frames.py +6 -8
- endoreg_db/models/media/video/video_file_frames/_create_frame_object.py +7 -9
- endoreg_db/models/media/video/video_file_frames/_delete_frames.py +9 -8
- endoreg_db/models/media/video/video_file_frames/_extract_frames.py +38 -45
- endoreg_db/models/media/video/video_file_frames/_get_frame.py +6 -8
- endoreg_db/models/media/video/video_file_frames/_get_frame_number.py +4 -18
- endoreg_db/models/media/video/video_file_frames/_get_frame_path.py +4 -3
- endoreg_db/models/media/video/video_file_frames/_get_frame_paths.py +7 -6
- endoreg_db/models/media/video/video_file_frames/_get_frame_range.py +6 -8
- endoreg_db/models/media/video/video_file_frames/_get_frames.py +6 -8
- endoreg_db/models/media/video/video_file_frames/_initialize_frames.py +15 -25
- endoreg_db/models/media/video/video_file_frames/_manage_frame_range.py +26 -23
- endoreg_db/models/media/video/video_file_frames/_mark_frames_extracted_status.py +23 -14
- endoreg_db/models/media/video/video_file_io.py +109 -62
- endoreg_db/models/media/video/video_file_meta/get_crop_template.py +3 -3
- endoreg_db/models/media/video/video_file_meta/get_endo_roi.py +5 -3
- endoreg_db/models/media/video/video_file_meta/get_fps.py +37 -34
- endoreg_db/models/media/video/video_file_meta/initialize_video_specs.py +19 -25
- endoreg_db/models/media/video/video_file_meta/text_meta.py +41 -38
- endoreg_db/models/media/video/video_file_meta/video_meta.py +14 -7
- endoreg_db/models/media/video/video_file_segments.py +24 -17
- endoreg_db/models/media/video/video_metadata.py +19 -35
- endoreg_db/models/media/video/video_processing.py +96 -95
- endoreg_db/models/medical/contraindication/__init__.py +13 -3
- endoreg_db/models/medical/disease.py +22 -16
- endoreg_db/models/medical/event.py +31 -18
- endoreg_db/models/medical/examination/__init__.py +13 -6
- endoreg_db/models/medical/examination/examination.py +17 -18
- endoreg_db/models/medical/examination/examination_indication.py +26 -25
- endoreg_db/models/medical/examination/examination_time.py +16 -6
- endoreg_db/models/medical/examination/examination_time_type.py +9 -6
- endoreg_db/models/medical/examination/examination_type.py +3 -4
- endoreg_db/models/medical/finding/finding.py +38 -39
- endoreg_db/models/medical/finding/finding_classification.py +37 -48
- endoreg_db/models/medical/finding/finding_intervention.py +27 -22
- endoreg_db/models/medical/finding/finding_type.py +13 -12
- endoreg_db/models/medical/hardware/endoscope.py +20 -26
- endoreg_db/models/medical/hardware/endoscopy_processor.py +2 -2
- endoreg_db/models/medical/laboratory/lab_value.py +62 -91
- endoreg_db/models/medical/medication/medication.py +22 -10
- endoreg_db/models/medical/medication/medication_indication.py +29 -3
- endoreg_db/models/medical/medication/medication_indication_type.py +25 -14
- endoreg_db/models/medical/medication/medication_intake_time.py +31 -19
- endoreg_db/models/medical/medication/medication_schedule.py +27 -16
- endoreg_db/models/medical/organ/__init__.py +15 -12
- endoreg_db/models/medical/patient/medication_examples.py +1 -5
- endoreg_db/models/medical/patient/patient_disease.py +20 -23
- endoreg_db/models/medical/patient/patient_event.py +19 -22
- endoreg_db/models/medical/patient/patient_examination.py +48 -54
- endoreg_db/models/medical/patient/patient_examination_indication.py +16 -14
- endoreg_db/models/medical/patient/patient_finding.py +122 -139
- endoreg_db/models/medical/patient/patient_finding_classification.py +44 -49
- endoreg_db/models/medical/patient/patient_finding_intervention.py +8 -19
- endoreg_db/models/medical/patient/patient_lab_sample.py +28 -23
- endoreg_db/models/medical/patient/patient_lab_value.py +82 -89
- endoreg_db/models/medical/patient/patient_medication.py +27 -38
- endoreg_db/models/medical/patient/patient_medication_schedule.py +28 -36
- endoreg_db/models/medical/risk/risk.py +7 -6
- endoreg_db/models/medical/risk/risk_type.py +8 -5
- endoreg_db/models/metadata/model_meta.py +60 -29
- endoreg_db/models/metadata/model_meta_logic.py +125 -18
- endoreg_db/models/metadata/pdf_meta.py +19 -24
- endoreg_db/models/metadata/sensitive_meta.py +102 -85
- endoreg_db/models/metadata/sensitive_meta_logic.py +192 -173
- endoreg_db/models/metadata/video_meta.py +51 -31
- endoreg_db/models/metadata/video_prediction_logic.py +16 -23
- endoreg_db/models/metadata/video_prediction_meta.py +29 -33
- endoreg_db/models/other/distribution/date_value_distribution.py +89 -29
- endoreg_db/models/other/distribution/multiple_categorical_value_distribution.py +21 -5
- endoreg_db/models/other/distribution/numeric_value_distribution.py +114 -53
- endoreg_db/models/other/distribution/single_categorical_value_distribution.py +4 -3
- endoreg_db/models/other/emission/emission_factor.py +18 -8
- endoreg_db/models/other/gender.py +10 -5
- endoreg_db/models/other/information_source.py +25 -25
- endoreg_db/models/other/material.py +9 -5
- endoreg_db/models/other/resource.py +6 -4
- endoreg_db/models/other/tag.py +10 -5
- endoreg_db/models/other/transport_route.py +13 -8
- endoreg_db/models/other/unit.py +10 -6
- endoreg_db/models/other/waste.py +6 -5
- endoreg_db/models/requirement/requirement.py +580 -272
- endoreg_db/models/requirement/requirement_error.py +85 -0
- endoreg_db/models/requirement/requirement_evaluation/evaluate_with_dependencies.py +268 -0
- endoreg_db/models/requirement/requirement_evaluation/operator_evaluation_models.py +3 -6
- endoreg_db/models/requirement/requirement_evaluation/requirement_type_parser.py +90 -64
- endoreg_db/models/requirement/requirement_operator.py +36 -33
- endoreg_db/models/requirement/requirement_set.py +74 -57
- endoreg_db/models/state/__init__.py +4 -4
- endoreg_db/models/state/abstract.py +2 -2
- endoreg_db/models/state/anonymization.py +12 -0
- endoreg_db/models/state/audit_ledger.py +46 -47
- endoreg_db/models/state/label_video_segment.py +9 -0
- endoreg_db/models/state/raw_pdf.py +40 -46
- endoreg_db/models/state/sensitive_meta.py +6 -2
- endoreg_db/models/state/video.py +58 -53
- endoreg_db/models/upload_job.py +32 -55
- endoreg_db/models/utils.py +1 -2
- endoreg_db/root_urls.py +21 -2
- endoreg_db/serializers/__init__.py +0 -2
- endoreg_db/serializers/anonymization.py +18 -10
- endoreg_db/serializers/meta/report_meta.py +1 -1
- endoreg_db/serializers/meta/sensitive_meta_detail.py +63 -118
- endoreg_db/serializers/misc/file_overview.py +11 -99
- endoreg_db/serializers/requirements/requirement_sets.py +92 -22
- endoreg_db/serializers/video/segmentation.py +2 -1
- endoreg_db/serializers/video/video_processing_history.py +20 -5
- endoreg_db/services/anonymization.py +75 -73
- endoreg_db/services/lookup_service.py +37 -24
- endoreg_db/services/pdf_import.py +166 -68
- endoreg_db/services/storage_aware_video_processor.py +140 -114
- endoreg_db/services/video_import.py +193 -283
- endoreg_db/urls/__init__.py +7 -20
- endoreg_db/urls/media.py +108 -67
- endoreg_db/urls/root_urls.py +29 -0
- endoreg_db/utils/__init__.py +15 -5
- endoreg_db/utils/ai/multilabel_classification_net.py +116 -20
- endoreg_db/utils/case_generator/__init__.py +3 -0
- endoreg_db/utils/dataloader.py +88 -16
- endoreg_db/utils/defaults/set_default_center.py +32 -0
- endoreg_db/utils/names.py +22 -16
- endoreg_db/utils/permissions.py +2 -1
- endoreg_db/utils/pipelines/process_video_dir.py +1 -1
- endoreg_db/utils/requirement_operator_logic/model_evaluators.py +414 -127
- endoreg_db/utils/setup_config.py +8 -5
- endoreg_db/utils/storage.py +115 -0
- endoreg_db/utils/validate_endo_roi.py +8 -2
- endoreg_db/utils/video/ffmpeg_wrapper.py +184 -188
- endoreg_db/views/__init__.py +0 -10
- endoreg_db/views/anonymization/media_management.py +198 -163
- endoreg_db/views/anonymization/overview.py +4 -1
- endoreg_db/views/anonymization/validate.py +174 -40
- endoreg_db/views/media/__init__.py +2 -0
- endoreg_db/views/media/pdf_media.py +131 -152
- endoreg_db/views/media/sensitive_metadata.py +46 -6
- endoreg_db/views/media/video_media.py +89 -82
- endoreg_db/views/media/video_segments.py +2 -3
- endoreg_db/views/meta/sensitive_meta_detail.py +0 -63
- endoreg_db/views/patient/patient.py +5 -4
- endoreg_db/views/pdf/pdf_stream.py +20 -21
- endoreg_db/views/pdf/reimport.py +11 -32
- endoreg_db/views/requirement/evaluate.py +188 -187
- endoreg_db/views/requirement/lookup.py +17 -3
- endoreg_db/views/requirement/requirement_utils.py +89 -0
- endoreg_db/views/video/__init__.py +0 -2
- endoreg_db/views/video/correction.py +2 -2
- {endoreg_db-0.8.6.1.dist-info → endoreg_db-0.8.8.0.dist-info}/METADATA +7 -3
- {endoreg_db-0.8.6.1.dist-info → endoreg_db-0.8.8.0.dist-info}/RECORD +341 -245
- endoreg_db/models/administration/permissions/__init__.py +0 -44
- endoreg_db/models/media/video/video_file_frames.py +0 -0
- endoreg_db/models/metadata/frame_ocr_result.py +0 -0
- endoreg_db/models/rule/__init__.py +0 -13
- endoreg_db/models/rule/rule.py +0 -27
- endoreg_db/models/rule/rule_applicator.py +0 -224
- endoreg_db/models/rule/rule_attribute_dtype.py +0 -17
- endoreg_db/models/rule/rule_type.py +0 -20
- endoreg_db/models/rule/ruleset.py +0 -17
- endoreg_db/serializers/video/video_metadata.py +0 -105
- endoreg_db/urls/report.py +0 -48
- endoreg_db/urls/video.py +0 -61
- endoreg_db/utils/case_generator/case_generator.py +0 -159
- endoreg_db/utils/case_generator/utils.py +0 -30
- endoreg_db/views/report/__init__.py +0 -9
- endoreg_db/views/report/report_list.py +0 -112
- endoreg_db/views/report/report_with_secure_url.py +0 -28
- endoreg_db/views/report/start_examination.py +0 -7
- endoreg_db/views.py +0 -0
- /endoreg_db/data/{requirement_set → _examples/requirement_set}/endoscopy_bleeding_risk.yaml +0 -0
- /endoreg_db/migrations/{0002_add_video_correction_models.py → _old/0002_add_video_correction_models.py} +0 -0
- /endoreg_db/migrations/{0003_add_center_display_name.py → _old/0003_add_center_display_name.py} +0 -0
- /endoreg_db/{models/media/video/refactor_plan.md → views/pdf/pdf_stream_views.py} +0 -0
- {endoreg_db-0.8.6.1.dist-info → endoreg_db-0.8.8.0.dist-info}/WHEEL +0 -0
- {endoreg_db-0.8.6.1.dist-info → endoreg_db-0.8.8.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
- model: endoreg_db.requirement
|
|
2
|
+
fields:
|
|
3
|
+
name: "disease_is_chronic_kidney_disease"
|
|
4
|
+
name_de: "Erkrankung chronische Nierenerkrankung"
|
|
5
|
+
name_en: "Disease Chronic Kidney Disease"
|
|
6
|
+
description: "Disease Chronic Kidney Disease"
|
|
7
|
+
requirement_types:
|
|
8
|
+
- "patient"
|
|
9
|
+
operators:
|
|
10
|
+
- models_match_all
|
|
11
|
+
diseases:
|
|
12
|
+
- "chronic_kidney_disease"
|
|
13
|
+
|
|
14
|
+
- model: endoreg_db.requirement
|
|
15
|
+
fields:
|
|
16
|
+
name: "disease_classification_choice_is_ckd_kdigo_1"
|
|
17
|
+
name_de: "Erkrankung Klassifikation chronische Nierenerkrankung (KDIGO) (Stadium 1)"
|
|
18
|
+
name_en: "Disease Classification Chronic Kidney Disease (KDIGO) (Stage 1)"
|
|
19
|
+
description: "Disease Classification Chronic Kidney Disease (KDIGO) (Stage 1)"
|
|
20
|
+
requirement_types:
|
|
21
|
+
- "patient_disease"
|
|
22
|
+
- "patient"
|
|
23
|
+
operators:
|
|
24
|
+
- models_match_all
|
|
25
|
+
disease_classification_choices:
|
|
26
|
+
- "ckd_kdigo_1"
|
|
27
|
+
|
|
28
|
+
- model: endoreg_db.requirement
|
|
29
|
+
fields:
|
|
30
|
+
name: "disease_classification_choice_is_ckd_kdigo_2"
|
|
31
|
+
name_de: "Erkrankung Klassifikation chronische Nierenerkrankung (KDIGO) (Stadium 2)"
|
|
32
|
+
name_en: "Disease Classification Chronic Kidney Disease (KDIGO) (Stage 2)"
|
|
33
|
+
description: "Disease Classification Chronic Kidney Disease (KDIGO) (Stage 2)"
|
|
34
|
+
requirement_types:
|
|
35
|
+
- "patient_disease"
|
|
36
|
+
- "patient"
|
|
37
|
+
operators:
|
|
38
|
+
- models_match_all
|
|
39
|
+
disease_classification_choices:
|
|
40
|
+
- "ckd_kdigo_2"
|
|
41
|
+
|
|
42
|
+
- model: endoreg_db.requirement
|
|
43
|
+
fields:
|
|
44
|
+
name: "disease_classification_choice_is_ckd_kdigo_3a"
|
|
45
|
+
name_de: "Erkrankung Klassifikation chronische Nierenerkrankung (KDIGO) (Stadium 3a)"
|
|
46
|
+
name_en: "Disease Classification Chronic Kidney Disease (KDIGO) (Stage 3a)"
|
|
47
|
+
description: "Disease Classification Chronic Kidney Disease (KDIGO) (Stage 3a)"
|
|
48
|
+
requirement_types:
|
|
49
|
+
- "patient_disease"
|
|
50
|
+
- "patient"
|
|
51
|
+
operators:
|
|
52
|
+
- models_match_all
|
|
53
|
+
disease_classification_choices:
|
|
54
|
+
- "ckd_kdigo_3a"
|
|
55
|
+
|
|
56
|
+
- model: endoreg_db.requirement
|
|
57
|
+
fields:
|
|
58
|
+
name: "disease_classification_choice_is_ckd_kdigo_3b"
|
|
59
|
+
name_de: "Erkrankung Klassifikation chronische Nierenerkrankung (KDIGO) (Stadium 3b)"
|
|
60
|
+
name_en: "Disease Classification Chronic Kidney Disease (KDIGO) (Stage 3b)"
|
|
61
|
+
description: "Disease Classification Chronic Kidney Disease (KDIGO) (Stage 3b)"
|
|
62
|
+
requirement_types:
|
|
63
|
+
- "patient_disease"
|
|
64
|
+
- "patient"
|
|
65
|
+
operators:
|
|
66
|
+
- models_match_all
|
|
67
|
+
disease_classification_choices:
|
|
68
|
+
- "ckd_kdigo_3b"
|
|
69
|
+
|
|
70
|
+
- model: endoreg_db.requirement
|
|
71
|
+
fields:
|
|
72
|
+
name: "disease_classification_choice_is_ckd_kdigo_4"
|
|
73
|
+
name_de: "Erkrankung Klassifikation chronische Nierenerkrankung (KDIGO) (Stadium 4)"
|
|
74
|
+
name_en: "Disease Classification Chronic Kidney Disease (KDIGO) (Stage 4)"
|
|
75
|
+
description: "Disease Classification Chronic Kidney Disease (KDIGO) (Stage 4)"
|
|
76
|
+
requirement_types:
|
|
77
|
+
- "patient_disease"
|
|
78
|
+
- "patient"
|
|
79
|
+
operators:
|
|
80
|
+
- models_match_all
|
|
81
|
+
disease_classification_choices:
|
|
82
|
+
- "ckd_kdigo_4"
|
|
83
|
+
|
|
84
|
+
- model: endoreg_db.requirement
|
|
85
|
+
fields:
|
|
86
|
+
name: "disease_classification_choice_is_ckd_kdigo_5"
|
|
87
|
+
name_de: "Erkrankung Klassifikation chronische Nierenerkrankung (KDIGO) (Stadium 5)"
|
|
88
|
+
name_en: "Disease Classification Chronic Kidney Disease (KDIGO) (Stage 5)"
|
|
89
|
+
description: "Disease Classification Chronic Kidney Disease (KDIGO) (Stage 5)"
|
|
90
|
+
requirement_types:
|
|
91
|
+
- "patient_disease"
|
|
92
|
+
- "patient"
|
|
93
|
+
operators:
|
|
94
|
+
- models_match_all
|
|
95
|
+
disease_classification_choices:
|
|
96
|
+
- "ckd_kdigo_5"
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
- model: endoreg_db.requirement
|
|
2
|
+
fields:
|
|
3
|
+
name: "endoscopy_intervention_bleeding_risk_high"
|
|
4
|
+
name_de: "Endoskopische Intervention - Blutungsrisiko: hoch"
|
|
5
|
+
name_en: "Endoscopy Intervention - Bleeding Risk: High"
|
|
6
|
+
description: "Endoskopische Intervention - Blutungsrisiko: hoch"
|
|
7
|
+
requirement_types:
|
|
8
|
+
- "examination_indication"
|
|
9
|
+
operators:
|
|
10
|
+
- "models_match_any"
|
|
11
|
+
finding_interventions:
|
|
12
|
+
- "egd_lesion_polypectomy_cold_snare"
|
|
13
|
+
- "egd_lesion_polypectomy_hot_snare"
|
|
14
|
+
- "colon_lesion_polypectomy_cold_snare"
|
|
15
|
+
- "colon_lesion_polypectomy_hot_snare"
|
|
16
|
+
- "colon_lesion_emr"
|
|
17
|
+
- "colon_lesion_esd"
|
|
18
|
+
- "colon_lesion_eftr"
|
|
19
|
+
- "egd_lesion_emr"
|
|
20
|
+
- "egd_lesion_esd"
|
|
21
|
+
- "egd_poem"
|
|
22
|
+
- "ercp_sphincterotomy"
|
|
23
|
+
- "egd_varice_band_ligation"
|
|
24
|
+
- "egd_varice_sclerotherapy"
|
|
25
|
+
- "egd_percutaneous_gastroenterostomy"
|
|
26
|
+
- "percutaneous_transhepatic_cholangiography"
|
|
27
|
+
- "percutaneous_transhepatic_biliary_drainage"
|
|
28
|
+
- "ercp_radiofrequency_ablation"
|
|
29
|
+
|
|
30
|
+
- model: endoreg_db.requirement
|
|
31
|
+
fields:
|
|
32
|
+
name: "endoscopy_intervention_bleeding_risk_low"
|
|
33
|
+
name_de: "Endoskopische Intervention - Blutungsrisiko: niedrig"
|
|
34
|
+
name_en: "Endoscopy Intervention - Bleeding Risk: Low"
|
|
35
|
+
description: "Endoskopische Intervention - Blutungsrisiko: niedrig"
|
|
36
|
+
requirement_types:
|
|
37
|
+
- "examination_indication"
|
|
38
|
+
operators:
|
|
39
|
+
- "models_match_any"
|
|
40
|
+
finding_interventions:
|
|
41
|
+
- "egd_lesion_biopsy"
|
|
42
|
+
- "colon_lesion_biopsy"
|
|
43
|
+
- "ercp"
|
|
44
|
+
- "egd_argon_plasma_coagulation"
|
|
45
|
+
|
|
46
|
+
- model: endoreg_db.requirement
|
|
47
|
+
fields:
|
|
48
|
+
name: "indication_is_colon_emr"
|
|
49
|
+
name_de: "Indikation Kolon EMR"
|
|
50
|
+
name_en: "Indication colon EMR"
|
|
51
|
+
description: "This functions evaluates whether the input ()"
|
|
52
|
+
requirement_types:
|
|
53
|
+
- "examination_indication"
|
|
54
|
+
operators:
|
|
55
|
+
- "models_match_any"
|
|
56
|
+
# when creating a requirement involving other models,
|
|
57
|
+
# we need to create the relationship here:
|
|
58
|
+
examination_indications:
|
|
59
|
+
- "colonoscopy_lesion_removal_emr"
|
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
- model: endoreg_db.requirement
|
|
2
|
+
fields:
|
|
3
|
+
name: "event_had_coro_des_implantation"
|
|
4
|
+
name_de: "Ereignis: Koronarstent-Implantation (DES) durchgeführt"
|
|
5
|
+
name_en: "Event: Coronary Stent Implantation (DES) performed"
|
|
6
|
+
description: "Ereignis: Koronarstent-Implantation (DES) durchgeführt"
|
|
7
|
+
operators:
|
|
8
|
+
- "models_match_any"
|
|
9
|
+
events:
|
|
10
|
+
- "coro_des_implantation"
|
|
11
|
+
requirement_types:
|
|
12
|
+
- "patient"
|
|
13
|
+
|
|
14
|
+
- model: endoreg_db.requirement
|
|
15
|
+
fields:
|
|
16
|
+
name: "event_had_coro_des_implantation_count_between_1_and_3 (exclusive)"
|
|
17
|
+
name_de: "Ereignis: Koronarstent-Implantation (DES) durchgeführt zwischen 1 und 3 (exklusive)"
|
|
18
|
+
name_en: "Event: Coronary Stent Implantation (DES) performed between 1 and 3 (exclusive)"
|
|
19
|
+
description: "Ereignis: Koronarstent-Implantation (DES) durchgeführt zwischen 1 und 3 (exklusive)"
|
|
20
|
+
operators:
|
|
21
|
+
- "models_match_count_in_range"
|
|
22
|
+
events:
|
|
23
|
+
- "coro_des_implantation"
|
|
24
|
+
numeric_value_min: 1
|
|
25
|
+
numeric_value_max: 3
|
|
26
|
+
requirement_types:
|
|
27
|
+
- "patient"
|
|
28
|
+
|
|
29
|
+
- model: endoreg_db.requirement
|
|
30
|
+
fields:
|
|
31
|
+
name: "event_had_coro_des_implantation_count_greater_than_3"
|
|
32
|
+
name_de: "Ereignis: Koronarstent-Implantation (DES) durchgeführt mehr als 3"
|
|
33
|
+
name_en: "Event: Coronary Stent Implantation (DES) performed more than 3"
|
|
34
|
+
description: "Ereignis: Koronarstent-Implantation (DES) durchgeführt mehr als 3"
|
|
35
|
+
operators:
|
|
36
|
+
- "models_match_n_or_more"
|
|
37
|
+
events:
|
|
38
|
+
- "coro_des_implantation"
|
|
39
|
+
numeric_value: 3
|
|
40
|
+
requirement_types:
|
|
41
|
+
- "patient"
|
|
42
|
+
|
|
43
|
+
- model: endoreg_db.requirement
|
|
44
|
+
fields:
|
|
45
|
+
name: "event_had_coro_bms_implantation"
|
|
46
|
+
name_de: "Ereignis: Koronarstent-Implantation (BMS) durchgeführt"
|
|
47
|
+
name_en: "Event: Coronary Stent Implantation (BMS) performed"
|
|
48
|
+
description: "Ereignis: Koronarstent-Implantation (BMS) durchgeführt"
|
|
49
|
+
operators:
|
|
50
|
+
- "models_match_any"
|
|
51
|
+
events:
|
|
52
|
+
- "coro_bms_implantation"
|
|
53
|
+
requirement_types:
|
|
54
|
+
- "patient"
|
|
55
|
+
|
|
56
|
+
- model: endoreg_db.requirement
|
|
57
|
+
fields:
|
|
58
|
+
name: "event_had_complication_coro_stent_thrombosis"
|
|
59
|
+
name_de: "Ereignis: Komplikation Koronar Stent Thrombose"
|
|
60
|
+
name_en: "Event: Complication Coronary Stent Thrombosis"
|
|
61
|
+
description: "Ereignis: Komplikation Koronar Stent Thrombose"
|
|
62
|
+
operators:
|
|
63
|
+
- "models_match_any"
|
|
64
|
+
events:
|
|
65
|
+
- "complication_coro_stent_thrombosis"
|
|
66
|
+
requirement_types:
|
|
67
|
+
- "patient"
|
|
68
|
+
|
|
69
|
+
- model: endoreg_db.requirement
|
|
70
|
+
fields:
|
|
71
|
+
name: "event_had_pulmonary_embolism"
|
|
72
|
+
name_de: "Ereignis: Lungenembolie"
|
|
73
|
+
name_en: "Event: Pulmonary Embolism"
|
|
74
|
+
description: "Ereignis: Lungenembolie"
|
|
75
|
+
operators:
|
|
76
|
+
- "models_match_any"
|
|
77
|
+
events:
|
|
78
|
+
- "pulmonary_embolism"
|
|
79
|
+
requirement_types:
|
|
80
|
+
- "patient"
|
|
81
|
+
|
|
82
|
+
- model: endoreg_db.requirement
|
|
83
|
+
fields:
|
|
84
|
+
name: "event_had_deep_vein_thrombosis"
|
|
85
|
+
name_de: "Ereignis: Tiefe Beinvenenthrombose"
|
|
86
|
+
name_en: "Event: Deep Vein Thrombosis"
|
|
87
|
+
description: "Ereignis: Tiefe Beinvenenthrombose"
|
|
88
|
+
operators:
|
|
89
|
+
- "models_match_any"
|
|
90
|
+
events:
|
|
91
|
+
- "deep_vein_thrombosis"
|
|
92
|
+
requirement_types:
|
|
93
|
+
- "patient"
|
|
94
|
+
|
|
95
|
+
- model: endoreg_db.requirement
|
|
96
|
+
fields:
|
|
97
|
+
name: "event_had_deep_vein_thrombosis_10_d"
|
|
98
|
+
name_de: "Ereignis: Tiefe Beinvenenthrombose innerhalb 10 Tage"
|
|
99
|
+
name_en: "Event: Deep Vein Thrombosis within 10 days"
|
|
100
|
+
description: "Ereignis: Tiefe Beinvenenthrombose innerhalb 10 Tage"
|
|
101
|
+
operators:
|
|
102
|
+
- "models_match_any_in_timeframe"
|
|
103
|
+
events:
|
|
104
|
+
- "deep_vein_thrombosis"
|
|
105
|
+
numeric_value_min: -10
|
|
106
|
+
numeric_value_max: 0
|
|
107
|
+
unit: "days"
|
|
108
|
+
requirement_types:
|
|
109
|
+
- "patient"
|
|
110
|
+
|
|
111
|
+
- model: endoreg_db.requirement
|
|
112
|
+
fields:
|
|
113
|
+
name: "event_had_more_than_1_deep_vein_thrombosis"
|
|
114
|
+
name_de: "Ereignis: Mehr als 1 Tiefe Beinvenenthrombose"
|
|
115
|
+
name_en: "Event: More than 1 Deep Vein Thrombosis"
|
|
116
|
+
description: "Ereignis: Mehr als 1 Tiefe Beinvenenthrombose"
|
|
117
|
+
operators:
|
|
118
|
+
- "models_match_n_or_more"
|
|
119
|
+
events:
|
|
120
|
+
- "deep_vein_thrombosis"
|
|
121
|
+
numeric_value: 1
|
|
122
|
+
requirement_types:
|
|
123
|
+
- "patient"
|
|
124
|
+
|
|
125
|
+
- model: endoreg_db.requirement
|
|
126
|
+
fields:
|
|
127
|
+
name: "event_had_coro_des_stent_implantation_30_d"
|
|
128
|
+
name_de: "Ereignis: Koronarstent-Implantation (DES) durchgeführt innerhalb 30 Tage"
|
|
129
|
+
name_en: "Event: Coronary Stent Implantation (DES) performed within 30 days"
|
|
130
|
+
description: "Ereignis: Koronarstent-Implantation (DES) durchgeführt innerhalb 30 Tage"
|
|
131
|
+
operators:
|
|
132
|
+
- "models_match_any_in_timeframe"
|
|
133
|
+
events:
|
|
134
|
+
- "coro_des_implantation"
|
|
135
|
+
numeric_value_min: -30
|
|
136
|
+
numeric_value_max: 0
|
|
137
|
+
unit: "days"
|
|
138
|
+
requirement_types:
|
|
139
|
+
- "patient"
|
|
140
|
+
|
|
141
|
+
- model: endoreg_db.requirement
|
|
142
|
+
fields:
|
|
143
|
+
name: "event_had_coro_des_stent_implantation_6_w"
|
|
144
|
+
name_de: "Ereignis: Koronarstent-Implantation (DES) durchgeführt innerhalb 6 Wochen"
|
|
145
|
+
name_en: "Event: Coronary Stent Implantation (DES) performed within 6 weeks"
|
|
146
|
+
description: "Ereignis: Koronarstent-Implantation (DES) durchgeführt innerhalb 6 Wochen"
|
|
147
|
+
operators:
|
|
148
|
+
- "models_match_any_in_timeframe"
|
|
149
|
+
events:
|
|
150
|
+
- "coro_des_implantation"
|
|
151
|
+
numeric_value_min: -6
|
|
152
|
+
numeric_value_max: 0
|
|
153
|
+
unit: "weeks"
|
|
154
|
+
requirement_types:
|
|
155
|
+
- "patient"
|
|
156
|
+
|
|
157
|
+
- model: endoreg_db.requirement
|
|
158
|
+
fields:
|
|
159
|
+
name: "event_had_coro_des_stent_implantation_6_m"
|
|
160
|
+
name_de: "Ereignis: Koronarstent-Implantation (DES) durchgeführt innerhalb 6 Monate"
|
|
161
|
+
name_en: "Event: Coronary Stent Implantation (DES) performed within 6 months"
|
|
162
|
+
description: "Ereignis: Koronarstent-Implantation (DES) durchgeführt innerhalb 6 Monate"
|
|
163
|
+
operators:
|
|
164
|
+
- "models_match_any_in_timeframe"
|
|
165
|
+
events:
|
|
166
|
+
- "coro_des_implantation"
|
|
167
|
+
numeric_value_min: -6
|
|
168
|
+
numeric_value_max: 0
|
|
169
|
+
unit: "months"
|
|
170
|
+
requirement_types:
|
|
171
|
+
- "patient"
|
|
172
|
+
|
|
173
|
+
- model: endoreg_db.requirement
|
|
174
|
+
fields:
|
|
175
|
+
name: "event_had_coro_des_stent_implantation_1_y"
|
|
176
|
+
name_de: "Ereignis: Koronarstent-Implantation (DES) durchgeführt innerhalb 1 Jahr"
|
|
177
|
+
name_en: "Event: Coronary Stent Implantation (DES) performed within 1 year"
|
|
178
|
+
description: "Ereignis: Koronarstent-Implantation (DES) durchgeführt innerhalb 1 Jahr"
|
|
179
|
+
operators:
|
|
180
|
+
- "models_match_any_in_timeframe"
|
|
181
|
+
events:
|
|
182
|
+
- "coro_des_implantation"
|
|
183
|
+
numeric_value_min: -1
|
|
184
|
+
numeric_value_max: 0
|
|
185
|
+
unit: "years"
|
|
186
|
+
requirement_types:
|
|
187
|
+
- "patient"
|
|
188
|
+
|
|
189
|
+
- model: endoreg_db.requirement
|
|
190
|
+
fields:
|
|
191
|
+
name: "event_had_coro_bms_stent_implantation_30_d"
|
|
192
|
+
name_de: "Ereignis: Koronarstent-Implantation (BMS) durchgeführt innerhalb 30 Tage"
|
|
193
|
+
name_en: "Event: Coronary Stent Implantation (BMS) performed within 30 days"
|
|
194
|
+
description: "Ereignis: Koronarstent-Implantation (BMS) durchgeführt innerhalb 30 Tage"
|
|
195
|
+
operators:
|
|
196
|
+
- "models_match_any_in_timeframe"
|
|
197
|
+
events:
|
|
198
|
+
- "coro_bms_implantation"
|
|
199
|
+
numeric_value_min: -30
|
|
200
|
+
numeric_value_max: 0
|
|
201
|
+
unit: "days"
|
|
202
|
+
requirement_types:
|
|
203
|
+
- "patient"
|
|
204
|
+
|
|
205
|
+
- model: endoreg_db.requirement
|
|
206
|
+
fields:
|
|
207
|
+
name: "event_had_coro_bms_stent_implantation_6_w"
|
|
208
|
+
name_de: "Ereignis: Koronarstent-Implantation (BMS) durchgeführt innerhalb 6 Wochen"
|
|
209
|
+
name_en: "Event: Coronary Stent Implantation (BMS) performed within 6 weeks"
|
|
210
|
+
description: "Ereignis: Koronarstent-Implantation (BMS) durchgeführt innerhalb 6 Wochen"
|
|
211
|
+
operators:
|
|
212
|
+
- "models_match_any_in_timeframe"
|
|
213
|
+
events:
|
|
214
|
+
- "coro_bms_implantation"
|
|
215
|
+
numeric_value_min: -6
|
|
216
|
+
numeric_value_max: 0
|
|
217
|
+
unit: "weeks"
|
|
218
|
+
requirement_types:
|
|
219
|
+
- "patient"
|
|
220
|
+
|
|
221
|
+
- model: endoreg_db.requirement
|
|
222
|
+
fields:
|
|
223
|
+
name: "event_had_coro_bms_stent_implantation_6_m"
|
|
224
|
+
name_de: "Ereignis: Koronarstent-Implantation (BMS) durchgeführt innerhalb 6 Monate"
|
|
225
|
+
name_en: "Event: Coronary Stent Implantation (BMS) performed within 6 months"
|
|
226
|
+
description: "Ereignis: Koronarstent-Implantation (BMS) durchgeführt innerhalb 6 Monate"
|
|
227
|
+
operators:
|
|
228
|
+
- "models_match_any_in_timeframe"
|
|
229
|
+
events:
|
|
230
|
+
- "coro_bms_implantation"
|
|
231
|
+
numeric_value_min: -6
|
|
232
|
+
numeric_value_max: 0
|
|
233
|
+
unit: "months"
|
|
234
|
+
requirement_types:
|
|
235
|
+
- "patient"
|
|
236
|
+
|
|
237
|
+
- model: endoreg_db.requirement
|
|
238
|
+
fields:
|
|
239
|
+
name: "event_had_coro_bms_stent_implantation_1_y"
|
|
240
|
+
name_de: "Ereignis: Koronarstent-Implantation (BMS) durchgeführt innerhalb 1 Jahr"
|
|
241
|
+
name_en: "Event: Coronary Stent Implantation (BMS) performed within 1 year"
|
|
242
|
+
description: "Ereignis: Koronarstent-Implantation (BMS) durchgeführt innerhalb 1 Jahr"
|
|
243
|
+
operators:
|
|
244
|
+
- "models_match_any_in_timeframe"
|
|
245
|
+
events:
|
|
246
|
+
- "coro_bms_implantation"
|
|
247
|
+
numeric_value_min: -1
|
|
248
|
+
numeric_value_max: 0
|
|
249
|
+
unit: "years"
|
|
250
|
+
requirement_types:
|
|
251
|
+
- "patient"
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
# /home/admin/dev/endo-ai/endoreg-db/endoreg_db/data/requirement/event_requirements.yaml
|
|
2
|
+
- model: endoreg_db.requirement
|
|
3
|
+
fields:
|
|
4
|
+
name: "event_coro_des_implantation_exists"
|
|
5
|
+
name_de: "Ereignis Koronarstent-Implantation (DES) vorhanden"
|
|
6
|
+
name_en: "Event Coronary Stent Implantation (DES) exists"
|
|
7
|
+
description: "Checks if a 'coro_des_implantation' event exists for the patient."
|
|
8
|
+
requirement_types:
|
|
9
|
+
- "patient"
|
|
10
|
+
- "patient_event" # Added patient_event
|
|
11
|
+
operators:
|
|
12
|
+
- models_match_any
|
|
13
|
+
events:
|
|
14
|
+
- "coro_des_implantation"
|
|
15
|
+
|
|
16
|
+
- model: endoreg_db.requirement
|
|
17
|
+
fields:
|
|
18
|
+
name: "event_coro_bms_implantation_exists"
|
|
19
|
+
name_de: "Ereignis Koronarstent-Implantation (BMS) vorhanden"
|
|
20
|
+
name_en: "Event Coronary Stent Implantation (BMS) exists"
|
|
21
|
+
description: "Checks if a 'coro_bms_implantation' event exists for the patient."
|
|
22
|
+
requirement_types:
|
|
23
|
+
- "patient"
|
|
24
|
+
- "patient_event" # Added patient_event
|
|
25
|
+
operators:
|
|
26
|
+
- models_match_any
|
|
27
|
+
events:
|
|
28
|
+
- "coro_bms_implantation"
|
|
29
|
+
|
|
30
|
+
- model: endoreg_db.requirement
|
|
31
|
+
fields:
|
|
32
|
+
name: "event_pulmonary_embolism_exists"
|
|
33
|
+
name_de: "Ereignis Lungenembolie vorhanden"
|
|
34
|
+
name_en: "Event Pulmonary Embolism exists"
|
|
35
|
+
description: "Checks if a 'pulmonary_embolism' event exists for the patient."
|
|
36
|
+
requirement_types:
|
|
37
|
+
- "patient"
|
|
38
|
+
- "patient_event" # Added patient_event
|
|
39
|
+
operators:
|
|
40
|
+
- models_match_any
|
|
41
|
+
events:
|
|
42
|
+
- "pulmonary_embolism"
|
|
43
|
+
|
|
44
|
+
- model: endoreg_db.requirement
|
|
45
|
+
fields:
|
|
46
|
+
name: "event_deep_vein_thrombosis_exists"
|
|
47
|
+
name_de: "Ereignis Tiefe Beinvenenthrombose vorhanden"
|
|
48
|
+
name_en: "Event Deep Vein Thrombosis exists"
|
|
49
|
+
description: "Checks if a 'deep_vein_thrombosis' event exists for the patient."
|
|
50
|
+
requirement_types:
|
|
51
|
+
- "patient"
|
|
52
|
+
- "patient_event" # Added patient_event
|
|
53
|
+
operators:
|
|
54
|
+
- models_match_any
|
|
55
|
+
events:
|
|
56
|
+
- "deep_vein_thrombosis"
|
|
57
|
+
|
|
58
|
+
- model: endoreg_db.requirement
|
|
59
|
+
fields:
|
|
60
|
+
name: "event_stroke_exists"
|
|
61
|
+
name_de: "Ereignis Schlaganfall vorhanden"
|
|
62
|
+
name_en: "Event Stroke exists"
|
|
63
|
+
description: "Checks if a 'stroke' event exists for the patient."
|
|
64
|
+
requirement_types:
|
|
65
|
+
- "patient"
|
|
66
|
+
- "patient_event" # Added patient_event
|
|
67
|
+
operators:
|
|
68
|
+
- models_match_any
|
|
69
|
+
events:
|
|
70
|
+
- "stroke"
|
|
71
|
+
|
|
72
|
+
- model: endoreg_db.requirement
|
|
73
|
+
fields:
|
|
74
|
+
name: "event_transient_ischemic_attack_exists"
|
|
75
|
+
name_de: "Ereignis Transitorische ischämische Attacke vorhanden"
|
|
76
|
+
name_en: "Event Transient Ischemic Attack exists"
|
|
77
|
+
description: "Checks if a 'transient_ischemic_attack' event exists for the patient."
|
|
78
|
+
requirement_types:
|
|
79
|
+
- "patient"
|
|
80
|
+
- "patient_event" # Added patient_event
|
|
81
|
+
operators:
|
|
82
|
+
- models_match_any
|
|
83
|
+
events:
|
|
84
|
+
- "transient_ischemic_attack"
|
|
85
|
+
|
|
86
|
+
- model: endoreg_db.requirement
|
|
87
|
+
fields:
|
|
88
|
+
name: "event_hip_replacement_surgery_exists"
|
|
89
|
+
name_de: "Ereignis Hüft-TEP Operation vorhanden"
|
|
90
|
+
name_en: "Event Hip replacement surgery exists"
|
|
91
|
+
description: "Checks if a 'hip_replacement_surgery' event exists for the patient."
|
|
92
|
+
requirement_types:
|
|
93
|
+
- "patient"
|
|
94
|
+
- "patient_event" # Added patient_event
|
|
95
|
+
operators:
|
|
96
|
+
- models_match_any
|
|
97
|
+
events:
|
|
98
|
+
- "hip_replacement_surgery"
|
|
99
|
+
|
|
100
|
+
- model: endoreg_db.requirement
|
|
101
|
+
fields:
|
|
102
|
+
name: "event_knee_replacement_surgery_exists"
|
|
103
|
+
name_de: "Ereignis Knie-TEP Operation vorhanden"
|
|
104
|
+
name_en: "Event Knee replacement surgery exists"
|
|
105
|
+
description: "Checks if a 'knee_replacement_surgery' event exists for the patient."
|
|
106
|
+
requirement_types:
|
|
107
|
+
- "patient"
|
|
108
|
+
- "patient_event" # Added patient_event
|
|
109
|
+
operators:
|
|
110
|
+
- models_match_any
|
|
111
|
+
events:
|
|
112
|
+
- "knee_replacement_surgery"
|
|
113
|
+
|
|
114
|
+
- model: endoreg_db.requirement
|
|
115
|
+
fields:
|
|
116
|
+
name: "event_recurrent_thrombembolism_exists"
|
|
117
|
+
name_de: "Ereignis Rezidivierende Thrombembolien vorhanden"
|
|
118
|
+
name_en: "Event Recurrent Thrombembolism exists"
|
|
119
|
+
description: "Checks if a 'recurrent_thrombembolism' event exists for the patient."
|
|
120
|
+
requirement_types:
|
|
121
|
+
- "patient"
|
|
122
|
+
- "patient_event" # Added patient_event
|
|
123
|
+
operators:
|
|
124
|
+
- models_match_any
|
|
125
|
+
events:
|
|
126
|
+
- "recurrent_thrombembolism"
|
|
127
|
+
|
|
128
|
+
# Example for models_match_any_in_timeframe
|
|
129
|
+
- model: endoreg_db.requirement
|
|
130
|
+
fields:
|
|
131
|
+
name: "event_stroke_in_last_30_days"
|
|
132
|
+
name_de: "Ereignis Schlaganfall in den letzten 30 Tagen"
|
|
133
|
+
name_en: "Event Stroke in the last 30 days"
|
|
134
|
+
description: "Checks if a 'stroke' event occurred for the patient in the last 30 days."
|
|
135
|
+
requirement_types: # Defines which input models are expected by Requirement.evaluate()
|
|
136
|
+
- "patient"
|
|
137
|
+
- "patient_event" # This tells the system to look for PatientEvent models in the input
|
|
138
|
+
operators:
|
|
139
|
+
- models_match_any_in_timeframe
|
|
140
|
+
events: # This links the Requirement to specific Event models (e.g. "stroke")
|
|
141
|
+
- "stroke"
|
|
142
|
+
# Timeframe definition for the operator:
|
|
143
|
+
numeric_value_min: -30 # Start of timeframe (days ago)
|
|
144
|
+
numeric_value_max: 0 # End of timeframe (days ago, i.e., today)
|
|
145
|
+
unit: "days" # Unit for the timeframe
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
- model: endoreg_db.requirement
|
|
2
|
+
fields:
|
|
3
|
+
name: "colon_austria_screening_polyp_size"
|
|
4
|
+
requirement_types:
|
|
5
|
+
- "patient_examination"
|
|
6
|
+
- "patient_finding"
|
|
7
|
+
operators:
|
|
8
|
+
- "models_match_any"
|
|
9
|
+
finding_classifications:
|
|
10
|
+
- "colon_lesion_size_mm"
|
|
11
|
+
- "colon_lesion_size_austria_categorical"
|
|
12
|
+
|
|
13
|
+
- model: endoreg_db.requirement
|
|
14
|
+
fields:
|
|
15
|
+
name: "colonoscopy_austria_screening_polyp_location"
|
|
16
|
+
requirement_types:
|
|
17
|
+
- "patient_examination"
|
|
18
|
+
- "patient_finding"
|
|
19
|
+
operators:
|
|
20
|
+
- "models_match_any"
|
|
21
|
+
finding_classifications:
|
|
22
|
+
- "colonoscopy_austria_screening_location"
|
|
23
|
+
- "colonoscopy_location_default"
|
|
24
|
+
|
|
25
|
+
- model: endoreg_db.requirement
|
|
26
|
+
fields:
|
|
27
|
+
name: "colonoscopy_austria_screening_polyp_morphology"
|
|
28
|
+
operators:
|
|
29
|
+
- "models_match_any"
|
|
30
|
+
requirement_types:
|
|
31
|
+
- "patient_examination"
|
|
32
|
+
- "patient_finding"
|
|
33
|
+
finding_classifications:
|
|
34
|
+
- "colon_lesion_paris"
|
|
35
|
+
- "colon_lesion_lst"
|
|
36
|
+
- "colon_lesion_planarity_default"
|
|
37
|
+
|
|
38
|
+
- model: endoreg_db.requirement
|
|
39
|
+
fields:
|
|
40
|
+
name: "colonoscopy_austria_screening_polyp_histology"
|
|
41
|
+
requirement_types:
|
|
42
|
+
- "patient_finding"
|
|
43
|
+
- "patient_examination"
|
|
44
|
+
operators:
|
|
45
|
+
- "models_match_all"
|
|
46
|
+
finding_classifications:
|
|
47
|
+
- "colonoscopy_polyp_histology"
|
|
48
|
+
- "colonoscopy_polyp_histology_dysplasia"
|
|
49
|
+
- "colonoscopy_histology_dignity"
|
|
50
|
+
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
- model: endoreg_db.requirement
|
|
2
|
+
fields:
|
|
3
|
+
name: "patient_gender_is_male"
|
|
4
|
+
name_de: "Patient ist männlich"
|
|
5
|
+
name_en: "Patient is male"
|
|
6
|
+
description: "Checks if the patient is male."
|
|
7
|
+
requirement_types:
|
|
8
|
+
- "patient"
|
|
9
|
+
operators:
|
|
10
|
+
- models_match_all
|
|
11
|
+
genders:
|
|
12
|
+
- "male"
|
|
13
|
+
|
|
14
|
+
- model: endoreg_db.requirement
|
|
15
|
+
fields:
|
|
16
|
+
name: "patient_gender_is_female"
|
|
17
|
+
name_de: "Patient ist weiblich"
|
|
18
|
+
name_en: "Patient is female"
|
|
19
|
+
description: "Checks if the patient is female."
|
|
20
|
+
requirement_types:
|
|
21
|
+
- "patient"
|
|
22
|
+
operators:
|
|
23
|
+
- models_match_all
|
|
24
|
+
genders:
|
|
25
|
+
- "female"
|