endoreg-db 0.8.9.32__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/__init__.py +0 -0
- endoreg_db/_version.py +34 -0
- endoreg_db/admin.py +97 -0
- endoreg_db/api/serializers/finding_descriptions.py +0 -0
- endoreg_db/api/views/finding_descriptions.py +0 -0
- endoreg_db/api_urls.py +4 -0
- endoreg_db/apps.py +17 -0
- endoreg_db/assets/dummy_model.ckpt +1 -0
- endoreg_db/authz/auth.py +78 -0
- endoreg_db/authz/backends.py +168 -0
- endoreg_db/authz/management/commands/list_routes.py +20 -0
- endoreg_db/authz/middleware.py +84 -0
- endoreg_db/authz/permissions.py +138 -0
- endoreg_db/authz/policy.py +224 -0
- endoreg_db/authz/settings.py +64 -0
- endoreg_db/authz/views_auth.py +70 -0
- endoreg_db/codemods/readme.md +88 -0
- endoreg_db/codemods/rename_datetime_fields.py +99 -0
- endoreg_db/config/__init__.py +0 -0
- endoreg_db/config/env.py +106 -0
- endoreg_db/config/settings/__init__.py +6 -0
- endoreg_db/config/settings/base.py +148 -0
- endoreg_db/config/settings/case_gen.py +32 -0
- endoreg_db/config/settings/dev.py +108 -0
- endoreg_db/config/settings/keycloak.py +177 -0
- endoreg_db/config/settings/prod.py +66 -0
- endoreg_db/config/settings/test.py +72 -0
- endoreg_db/data/__init__.py +135 -0
- endoreg_db/data/ai_model/data.yaml +7 -0
- endoreg_db/data/ai_model_label/label/data.yaml +88 -0
- endoreg_db/data/ai_model_label/label/polyp_classification.yaml +52 -0
- endoreg_db/data/ai_model_label/label-set/data.yaml +40 -0
- endoreg_db/data/ai_model_label/label-set/polyp_classifications.yaml +25 -0
- endoreg_db/data/ai_model_label/label-type/data.yaml +7 -0
- endoreg_db/data/ai_model_meta/default_multilabel_classification.yaml +27 -0
- endoreg_db/data/ai_model_type/data.yaml +7 -0
- endoreg_db/data/ai_model_video_segmentation_label/base_segmentation.yaml +176 -0
- endoreg_db/data/ai_model_video_segmentation_labelset/data.yaml +20 -0
- endoreg_db/data/case_template/rule/00_patient_lab_sample_add_default_value.yaml +167 -0
- endoreg_db/data/case_template/rule/01_patient-set-age.yaml +8 -0
- endoreg_db/data/case_template/rule/01_patient-set-gender.yaml +9 -0
- endoreg_db/data/case_template/rule/11_create_patient_lab_sample.yaml +23 -0
- endoreg_db/data/case_template/rule/12_create-patient_medication-anticoagulation.yaml +19 -0
- endoreg_db/data/case_template/rule/13_create-patient_medication_schedule-anticoagulation.yaml +19 -0
- endoreg_db/data/case_template/rule/19_create_patient.yaml +17 -0
- endoreg_db/data/case_template/rule_type/base_types.yaml +35 -0
- endoreg_db/data/case_template/rule_value/.init +0 -0
- endoreg_db/data/case_template/rule_value_type/base_types.yaml +59 -0
- endoreg_db/data/case_template/template/base.yaml +8 -0
- endoreg_db/data/case_template/template_type/pre_endoscopy.yaml +3 -0
- endoreg_db/data/case_template/tmp/_rule_value +13 -0
- endoreg_db/data/case_template/tmp/rule/01_atrial_fibrillation.yaml +21 -0
- endoreg_db/data/case_template/tmp/rule/02_create_object.yaml +10 -0
- endoreg_db/data/case_template/tmp/template/atrial_fibrillation_low_risk.yaml +7 -0
- endoreg_db/data/center/data.yaml +99 -0
- endoreg_db/data/center_resource/green_endoscopy_dashboard_CenterResource.yaml +144 -0
- endoreg_db/data/center_shift/ukw.yaml +9 -0
- endoreg_db/data/center_waste/green_endoscopy_dashboard_CenterWaste.yaml +48 -0
- endoreg_db/data/contraindication/bleeding.yaml +11 -0
- endoreg_db/data/db_summary.csv +58 -0
- endoreg_db/data/db_summary.xlsx +0 -0
- endoreg_db/data/disease/cardiovascular.yaml +37 -0
- endoreg_db/data/disease/hepatology.yaml +5 -0
- endoreg_db/data/disease/misc.yaml +5 -0
- endoreg_db/data/disease/renal.yaml +5 -0
- endoreg_db/data/disease_classification/chronic_kidney_disease.yaml +6 -0
- endoreg_db/data/disease_classification/coronary_vessel_disease.yaml +6 -0
- endoreg_db/data/disease_classification_choice/chronic_kidney_disease.yaml +41 -0
- endoreg_db/data/disease_classification_choice/coronary_vessel_disease.yaml +20 -0
- endoreg_db/data/distribution/date/patient.yaml +7 -0
- endoreg_db/data/distribution/multiple_categorical/.init +0 -0
- endoreg_db/data/distribution/numeric/data.yaml +14 -0
- endoreg_db/data/distribution/single_categorical/patient.yaml +7 -0
- endoreg_db/data/emission_factor/green_endoscopy_dashboard_EmissionFactor.yaml +132 -0
- endoreg_db/data/endoscope/data.yaml +93 -0
- endoreg_db/data/endoscope_type/data.yaml +11 -0
- endoreg_db/data/endoscopy_processor/data.yaml +50 -0
- endoreg_db/data/event/cardiology.yaml +15 -0
- endoreg_db/data/event/neurology.yaml +14 -0
- endoreg_db/data/event/surgery.yaml +13 -0
- endoreg_db/data/event/thrombembolism.yaml +20 -0
- endoreg_db/data/event_classification/data.yaml +4 -0
- endoreg_db/data/event_classification_choice/data.yaml +9 -0
- endoreg_db/data/examination/examinations/data.yaml +172 -0
- endoreg_db/data/examination/time/data.yaml +48 -0
- endoreg_db/data/examination/time-type/data.yaml +5 -0
- endoreg_db/data/examination/type/data.yaml +17 -0
- endoreg_db/data/examination_indication/endoscopy.yaml +359 -0
- endoreg_db/data/examination_indication_classification/endoscopy.yaml +90 -0
- endoreg_db/data/examination_indication_classification_choice/endoscopy.yaml +97 -0
- endoreg_db/data/examination_requirement_set/colonoscopy.yaml +15 -0
- endoreg_db/data/finding/00_generic.yaml +35 -0
- endoreg_db/data/finding/00_generic_complication.yaml +9 -0
- endoreg_db/data/finding/01_gastroscopy_baseline.yaml +88 -0
- endoreg_db/data/finding/01_gastroscopy_observation.yaml +113 -0
- endoreg_db/data/finding/02_colonoscopy_baseline.yaml +53 -0
- endoreg_db/data/finding/02_colonoscopy_hidden.yaml +119 -0
- endoreg_db/data/finding/02_colonoscopy_observation.yaml +152 -0
- endoreg_db/data/finding_classification/00_generic.yaml +44 -0
- endoreg_db/data/finding_classification/00_generic_histology.yaml +28 -0
- endoreg_db/data/finding_classification/00_generic_lesion.yaml +52 -0
- endoreg_db/data/finding_classification/02_colonoscopy_baseline.yaml +83 -0
- endoreg_db/data/finding_classification/02_colonoscopy_histology.yaml +13 -0
- endoreg_db/data/finding_classification/02_colonoscopy_other.yaml +12 -0
- endoreg_db/data/finding_classification/02_colonoscopy_polyp.yaml +101 -0
- endoreg_db/data/finding_classification_choice/00_generic.yaml +15 -0
- endoreg_db/data/finding_classification_choice/00_generic_baseline.yaml +23 -0
- endoreg_db/data/finding_classification_choice/00_generic_complication.yaml +15 -0
- endoreg_db/data/finding_classification_choice/00_generic_histology.yaml +21 -0
- endoreg_db/data/finding_classification_choice/00_generic_lesion.yaml +158 -0
- endoreg_db/data/finding_classification_choice/02_colonoscopy_bowel_preparation.yaml +49 -0
- endoreg_db/data/finding_classification_choice/02_colonoscopy_generic.yaml +19 -0
- endoreg_db/data/finding_classification_choice/02_colonoscopy_histology.yaml +20 -0
- endoreg_db/data/finding_classification_choice/02_colonoscopy_location.yaml +248 -0
- endoreg_db/data/finding_classification_choice/02_colonoscopy_other.yaml +34 -0
- endoreg_db/data/finding_classification_choice/02_colonoscopy_polyp_advanced_imaging.yaml +76 -0
- endoreg_db/data/finding_classification_choice/02_colonoscopy_polyp_morphology.yaml +75 -0
- endoreg_db/data/finding_classification_choice/02_colonoscopy_size.yaml +27 -0
- endoreg_db/data/finding_classification_type/00_generic.yaml +53 -0
- endoreg_db/data/finding_classification_type/02_colonoscopy.yaml +9 -0
- endoreg_db/data/finding_intervention/00_generic_endoscopy.yaml +59 -0
- endoreg_db/data/finding_intervention/00_generic_endoscopy_ablation.yaml +44 -0
- endoreg_db/data/finding_intervention/00_generic_endoscopy_bleeding.yaml +55 -0
- endoreg_db/data/finding_intervention/00_generic_endoscopy_resection.yaml +85 -0
- endoreg_db/data/finding_intervention/00_generic_endoscopy_stenosis.yaml +17 -0
- endoreg_db/data/finding_intervention/00_generic_endoscopy_stent.yaml +9 -0
- endoreg_db/data/finding_intervention/01_gastroscopy.yaml +19 -0
- endoreg_db/data/finding_intervention/04_eus.yaml +39 -0
- endoreg_db/data/finding_intervention/05_ercp.yaml +3 -0
- endoreg_db/data/finding_intervention_type/endoscopy.yaml +15 -0
- endoreg_db/data/finding_type/data.yaml +39 -0
- endoreg_db/data/gender/data.yaml +42 -0
- endoreg_db/data/information_source/annotation.yaml +6 -0
- endoreg_db/data/information_source/data.yaml +30 -0
- endoreg_db/data/information_source/endoscopy_guidelines.yaml +7 -0
- endoreg_db/data/information_source/medication.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/cardiac_enzymes.yaml +37 -0
- endoreg_db/data/lab_value/coagulation.yaml +54 -0
- endoreg_db/data/lab_value/electrolytes.yaml +228 -0
- endoreg_db/data/lab_value/gastrointestinal_function.yaml +133 -0
- endoreg_db/data/lab_value/hematology.yaml +184 -0
- endoreg_db/data/lab_value/hormones.yaml +59 -0
- endoreg_db/data/lab_value/lipids.yaml +53 -0
- endoreg_db/data/lab_value/misc.yaml +76 -0
- endoreg_db/data/lab_value/renal_function.yaml +12 -0
- endoreg_db/data/log_type/data.yaml +57 -0
- endoreg_db/data/lx_client_tag/base.yaml +54 -0
- endoreg_db/data/lx_client_type/base.yaml +30 -0
- endoreg_db/data/lx_permission/base.yaml +24 -0
- endoreg_db/data/lx_permission/endoreg.yaml +52 -0
- endoreg_db/data/material/material.yaml +91 -0
- endoreg_db/data/medication/anticoagulation.yaml +65 -0
- endoreg_db/data/medication/tah.yaml +70 -0
- endoreg_db/data/medication_indication/anticoagulation.yaml +115 -0
- endoreg_db/data/medication_indication_type/data.yaml +11 -0
- endoreg_db/data/medication_indication_type/thrombembolism.yaml +41 -0
- endoreg_db/data/medication_intake_time/base.yaml +31 -0
- endoreg_db/data/medication_schedule/apixaban.yaml +95 -0
- endoreg_db/data/medication_schedule/ass.yaml +12 -0
- endoreg_db/data/medication_schedule/enoxaparin.yaml +26 -0
- endoreg_db/data/names_first/first_names.yaml +54 -0
- endoreg_db/data/names_last/last_names.yaml +51 -0
- endoreg_db/data/network_device/data.yaml +59 -0
- endoreg_db/data/network_device_type/data.yaml +12 -0
- endoreg_db/data/organ/data.yaml +29 -0
- endoreg_db/data/patient_lab_sample_type/generic.yaml +6 -0
- endoreg_db/data/pdf_type/data.yaml +46 -0
- endoreg_db/data/product/green_endoscopy_dashboard_Product.yaml +66 -0
- endoreg_db/data/product_group/green_endoscopy_dashboard_ProductGroup.yaml +33 -0
- endoreg_db/data/product_material/green_endoscopy_dashboard_ProductMaterial.yaml +308 -0
- endoreg_db/data/product_weight/green_endoscopy_dashboard_ProductWeight.yaml +88 -0
- endoreg_db/data/profession/data.yaml +70 -0
- 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/reference_product/green_endoscopy_dashboard_ReferenceProduct.yaml +55 -0
- endoreg_db/data/report_reader_flag/rkh-histology-generic.yaml +10 -0
- endoreg_db/data/report_reader_flag/ukw-examination-generic.yaml +30 -0
- endoreg_db/data/report_reader_flag/ukw-histology-generic.yaml +24 -0
- endoreg_db/data/requirement/01_patient_data.yaml +93 -0
- endoreg_db/data/requirement/old/colon_polyp_intervention.yaml +49 -0
- endoreg_db/data/requirement/old/colonoscopy_baseline_austria.yaml +45 -0
- endoreg_db/data/requirement/old/coloreg_colon_polyp.yaml +49 -0
- endoreg_db/data/requirement/old/disease_cardiovascular.yaml +79 -0
- endoreg_db/data/requirement/old/disease_classification_choice_cardiovascular.yaml +41 -0
- endoreg_db/data/requirement/old/disease_hepatology.yaml +12 -0
- endoreg_db/data/requirement/old/disease_misc.yaml +12 -0
- endoreg_db/data/requirement/old/disease_renal.yaml +96 -0
- endoreg_db/data/requirement/old/endoscopy_bleeding_risk.yaml +59 -0
- endoreg_db/data/requirement/old/event_cardiology.yaml +251 -0
- endoreg_db/data/requirement/old/event_requirements.yaml +145 -0
- endoreg_db/data/requirement/old/finding_colon_polyp.yaml +50 -0
- endoreg_db/data/requirement/old/gender.yaml +0 -0
- endoreg_db/data/requirement/old/lab_value.yaml +441 -0
- endoreg_db/data/requirement/old/medication.yaml +93 -0
- endoreg_db/data/requirement_operator/_old/age.yaml +13 -0
- endoreg_db/data/requirement_operator/_old/lab_operators.yaml +129 -0
- endoreg_db/data/requirement_operator/_old/model_operators.yaml +96 -0
- endoreg_db/data/requirement_operator/new_operators.yaml +36 -0
- endoreg_db/data/requirement_set/01_endoscopy_generic.yaml +65 -0
- 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 +190 -0
- endoreg_db/data/requirement_set/_old_ +109 -0
- endoreg_db/data/requirement_set/colonoscopy_austria_screening.yaml +57 -0
- endoreg_db/data/requirement_set_type/data.yaml +41 -0
- endoreg_db/data/requirement_type/requirement_types.yaml +165 -0
- endoreg_db/data/resource/green_endoscopy_dashboard_Resource.yaml +15 -0
- endoreg_db/data/risk/bleeding.yaml +26 -0
- endoreg_db/data/risk/thrombosis.yaml +37 -0
- endoreg_db/data/risk_type/data.yaml +27 -0
- endoreg_db/data/setup_config.yaml +38 -0
- endoreg_db/data/shift/endoscopy.yaml +21 -0
- endoreg_db/data/shift/m2.yaml +0 -0
- endoreg_db/data/shift_type/base.yaml +35 -0
- endoreg_db/data/tag/requirement_set_tags.yaml +32 -0
- endoreg_db/data/tmp/chronic_kidney_disease.yaml +0 -0
- endoreg_db/data/tmp/congestive_heart_failure.yaml +0 -0
- endoreg_db/data/transport_route/green_endoscopy_dashboard_TransportRoute.yaml +12 -0
- endoreg_db/data/unit/concentration.yaml +115 -0
- endoreg_db/data/unit/data.yaml +17 -0
- endoreg_db/data/unit/length.yaml +31 -0
- endoreg_db/data/unit/misc.yaml +20 -0
- endoreg_db/data/unit/rate.yaml +6 -0
- endoreg_db/data/unit/time.yaml +48 -0
- endoreg_db/data/unit/volume.yaml +35 -0
- endoreg_db/data/unit/weight.yaml +38 -0
- endoreg_db/data/waste/data.yaml +12 -0
- endoreg_db/exceptions.py +24 -0
- endoreg_db/export/frames/export.py +6 -0
- endoreg_db/export/frames/export_frames_with_labels.py +616 -0
- endoreg_db/factories/__init__.py +0 -0
- endoreg_db/forms/__init__.py +4 -0
- endoreg_db/forms/examination_form.py +12 -0
- endoreg_db/forms/patient_finding_intervention_form.py +40 -0
- endoreg_db/forms/patient_form.py +23 -0
- endoreg_db/forms/questionnaires/__init__.py +1 -0
- endoreg_db/forms/questionnaires/tto_questionnaire.py +23 -0
- endoreg_db/forms/settings/__init__.py +11 -0
- endoreg_db/forms/unit.py +7 -0
- endoreg_db/helpers/__init__.py +0 -0
- endoreg_db/helpers/count_db.py +48 -0
- endoreg_db/helpers/data_loader.py +280 -0
- endoreg_db/helpers/default_objects.py +414 -0
- endoreg_db/helpers/download_segmentation_model.py +32 -0
- endoreg_db/helpers/interact.py +1 -0
- endoreg_db/helpers/test_video_helper.py +127 -0
- endoreg_db/import_files/__init__.py +27 -0
- endoreg_db/import_files/context/__init__.py +7 -0
- endoreg_db/import_files/context/default_sensitive_meta.py +83 -0
- endoreg_db/import_files/context/ensure_center.py +17 -0
- endoreg_db/import_files/context/file_lock.py +66 -0
- endoreg_db/import_files/context/import_context.py +42 -0
- endoreg_db/import_files/context/validate_directories.py +57 -0
- endoreg_db/import_files/file_storage/__init__.py +15 -0
- endoreg_db/import_files/file_storage/create_report_file.py +99 -0
- endoreg_db/import_files/file_storage/create_video_file.py +104 -0
- endoreg_db/import_files/file_storage/sensitive_meta_storage.py +42 -0
- endoreg_db/import_files/file_storage/state_management.py +463 -0
- endoreg_db/import_files/file_storage/storage.py +42 -0
- endoreg_db/import_files/import_service.md +26 -0
- endoreg_db/import_files/processing/__init__.py +11 -0
- endoreg_db/import_files/processing/report_processing/report_anonymization.py +99 -0
- endoreg_db/import_files/processing/sensitive_meta_adapter.py +51 -0
- endoreg_db/import_files/processing/video_processing/video_anonymization.py +107 -0
- endoreg_db/import_files/pseudonymization/__init__.py +0 -0
- endoreg_db/import_files/pseudonymization/fake.py +52 -0
- endoreg_db/import_files/pseudonymization/k_anonymity.py +181 -0
- endoreg_db/import_files/pseudonymization/k_pseudonymity.py +139 -0
- endoreg_db/import_files/pseudonymization/pseudonymize.py +0 -0
- endoreg_db/import_files/report_import_service.py +147 -0
- endoreg_db/import_files/video_import_service.py +154 -0
- endoreg_db/logger_conf.py +156 -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 +132 -0
- endoreg_db/management/commands/create_model_meta_from_huggingface.py +177 -0
- endoreg_db/management/commands/create_multilabel_model_meta.py +419 -0
- endoreg_db/management/commands/export_frame_annot.py +196 -0
- endoreg_db/management/commands/fix_missing_patient_data.py +206 -0
- endoreg_db/management/commands/fix_video_paths.py +186 -0
- endoreg_db/management/commands/import_report.py +361 -0
- endoreg_db/management/commands/list_routes.py +20 -0
- endoreg_db/management/commands/load_ai_model_data.py +83 -0
- endoreg_db/management/commands/load_ai_model_label_data.py +60 -0
- endoreg_db/management/commands/load_base_db_data.py +63 -0
- endoreg_db/management/commands/load_center_data.py +68 -0
- endoreg_db/management/commands/load_contraindication_data.py +39 -0
- endoreg_db/management/commands/load_disease_classification_choices_data.py +38 -0
- endoreg_db/management/commands/load_disease_classification_data.py +38 -0
- endoreg_db/management/commands/load_disease_data.py +59 -0
- endoreg_db/management/commands/load_distribution_data.py +63 -0
- endoreg_db/management/commands/load_endoscope_data.py +58 -0
- endoreg_db/management/commands/load_event_data.py +39 -0
- endoreg_db/management/commands/load_examination_data.py +78 -0
- endoreg_db/management/commands/load_examination_indication_data.py +85 -0
- endoreg_db/management/commands/load_finding_data.py +115 -0
- endoreg_db/management/commands/load_gender_data.py +37 -0
- endoreg_db/management/commands/load_green_endoscopy_wuerzburg_data.py +142 -0
- endoreg_db/management/commands/load_information_source.py +46 -0
- endoreg_db/management/commands/load_lab_value_data.py +52 -0
- endoreg_db/management/commands/load_legacy_data.py +303 -0
- endoreg_db/management/commands/load_medication_data.py +104 -0
- endoreg_db/management/commands/load_name_data.py +36 -0
- endoreg_db/management/commands/load_organ_data.py +39 -0
- endoreg_db/management/commands/load_pdf_type_data.py +58 -0
- endoreg_db/management/commands/load_profession_data.py +40 -0
- endoreg_db/management/commands/load_qualification_data.py +56 -0
- endoreg_db/management/commands/load_report_reader_flag_data.py +40 -0
- endoreg_db/management/commands/load_requirement_data.py +207 -0
- endoreg_db/management/commands/load_requirement_set_tags.py +95 -0
- endoreg_db/management/commands/load_risk_data.py +57 -0
- endoreg_db/management/commands/load_shift_data.py +57 -0
- endoreg_db/management/commands/load_tag_data.py +54 -0
- endoreg_db/management/commands/load_unit_data.py +40 -0
- endoreg_db/management/commands/load_user_groups.py +26 -0
- endoreg_db/management/commands/model_input.py +169 -0
- endoreg_db/management/commands/register_ai_model.py +70 -0
- endoreg_db/management/commands/setup_endoreg_db.py +459 -0
- endoreg_db/management/commands/start_filewatcher.py +115 -0
- endoreg_db/management/commands/storage_management.py +622 -0
- endoreg_db/management/commands/summarize_db_content.py +280 -0
- endoreg_db/management/commands/train_image_multilabel_model.py +144 -0
- endoreg_db/management/commands/validate_video_files.py +189 -0
- endoreg_db/management/commands/video_validation.py +20 -0
- endoreg_db/mermaid/Overall_flow_patient_finding_intervention.md +10 -0
- endoreg_db/mermaid/anonymized_image_annotation.md +20 -0
- endoreg_db/mermaid/binary_classification_annotation.md +50 -0
- endoreg_db/mermaid/classification.md +8 -0
- endoreg_db/mermaid/examination.md +8 -0
- endoreg_db/mermaid/findings.md +7 -0
- endoreg_db/mermaid/image_classification.md +28 -0
- endoreg_db/mermaid/interventions.md +8 -0
- endoreg_db/mermaid/morphology.md +8 -0
- endoreg_db/mermaid/patient_creation.md +14 -0
- endoreg_db/mermaid/video_segmentation_annotation.md +17 -0
- endoreg_db/migrations/0001_initial.py +1953 -0
- endoreg_db/migrations/__init__.py +0 -0
- endoreg_db/models/__init__.py +322 -0
- endoreg_db/models/administration/__init__.py +95 -0
- endoreg_db/models/administration/ai/__init__.py +9 -0
- endoreg_db/models/administration/ai/active_model.py +35 -0
- endoreg_db/models/administration/ai/ai_model.py +180 -0
- endoreg_db/models/administration/ai/model_type.py +42 -0
- endoreg_db/models/administration/case/__init__.py +5 -0
- endoreg_db/models/administration/case/case.py +114 -0
- endoreg_db/models/administration/case/case_template/__init__.py +3 -0
- endoreg_db/models/administration/case/case_template/case_template.py +3 -0
- endoreg_db/models/administration/case/case_template/case_template_rule.py +3 -0
- endoreg_db/models/administration/case/case_template/case_template_rule_value.py +3 -0
- endoreg_db/models/administration/case/case_template/case_template_type.py +3 -0
- endoreg_db/models/administration/center/__init__.py +13 -0
- endoreg_db/models/administration/center/center.py +85 -0
- endoreg_db/models/administration/center/center_product.py +67 -0
- endoreg_db/models/administration/center/center_resource.py +69 -0
- endoreg_db/models/administration/center/center_shift.py +94 -0
- endoreg_db/models/administration/center/center_waste.py +42 -0
- endoreg_db/models/administration/person/__init__.py +26 -0
- endoreg_db/models/administration/person/employee/__init__.py +3 -0
- endoreg_db/models/administration/person/employee/employee.py +40 -0
- endoreg_db/models/administration/person/employee/employee_qualification.py +44 -0
- endoreg_db/models/administration/person/employee/employee_type.py +50 -0
- endoreg_db/models/administration/person/examiner/__init__.py +4 -0
- endoreg_db/models/administration/person/examiner/examiner.py +64 -0
- endoreg_db/models/administration/person/names/__init__.py +0 -0
- endoreg_db/models/administration/person/names/first_name.py +20 -0
- endoreg_db/models/administration/person/names/last_name.py +20 -0
- endoreg_db/models/administration/person/patient/__init__.py +7 -0
- endoreg_db/models/administration/person/patient/patient.py +488 -0
- endoreg_db/models/administration/person/patient/patient_external_id.py +36 -0
- endoreg_db/models/administration/person/person.py +35 -0
- endoreg_db/models/administration/person/profession/__init__.py +28 -0
- endoreg_db/models/administration/person/user/__init__.py +5 -0
- endoreg_db/models/administration/person/user/portal_user_information.py +41 -0
- endoreg_db/models/administration/product/__init__.py +15 -0
- endoreg_db/models/administration/product/product.py +106 -0
- endoreg_db/models/administration/product/product_group.py +41 -0
- endoreg_db/models/administration/product/product_material.py +60 -0
- endoreg_db/models/administration/product/product_weight.py +51 -0
- endoreg_db/models/administration/product/reference_product.py +147 -0
- endoreg_db/models/administration/qualification/__init__.py +7 -0
- endoreg_db/models/administration/qualification/qualification.py +43 -0
- endoreg_db/models/administration/qualification/qualification_type.py +39 -0
- endoreg_db/models/administration/shift/__init__.py +9 -0
- endoreg_db/models/administration/shift/scheduled_days.py +72 -0
- endoreg_db/models/administration/shift/shift.py +57 -0
- endoreg_db/models/administration/shift/shift_type.py +108 -0
- endoreg_db/models/aidataset/__init__.py +5 -0
- endoreg_db/models/aidataset/aidataset.py +193 -0
- endoreg_db/models/label/__init__.py +23 -0
- endoreg_db/models/label/annotation/__init__.py +12 -0
- endoreg_db/models/label/annotation/image_classification.py +85 -0
- endoreg_db/models/label/annotation/video_segmentation_annotation.py +61 -0
- endoreg_db/models/label/label.py +91 -0
- endoreg_db/models/label/label_set.py +68 -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 +42 -0
- endoreg_db/models/label/label_video_segment/label_video_segment.py +611 -0
- endoreg_db/models/label/video_segmentation_label.py +35 -0
- endoreg_db/models/label/video_segmentation_labelset.py +28 -0
- endoreg_db/models/media/__init__.py +23 -0
- endoreg_db/models/media/frame/__init__.py +3 -0
- endoreg_db/models/media/frame/frame.py +137 -0
- endoreg_db/models/media/pdf/__init__.py +12 -0
- endoreg_db/models/media/pdf/raw_pdf.py +764 -0
- endoreg_db/models/media/pdf/report_file.py +162 -0
- endoreg_db/models/media/pdf/report_reader/__init__.py +7 -0
- endoreg_db/models/media/pdf/report_reader/report_reader_config.py +85 -0
- endoreg_db/models/media/pdf/report_reader/report_reader_flag.py +46 -0
- endoreg_db/models/media/video/__init__.py +9 -0
- endoreg_db/models/media/video/create_from_file.py +402 -0
- endoreg_db/models/media/video/pipe_1.py +258 -0
- endoreg_db/models/media/video/pipe_2.py +129 -0
- endoreg_db/models/media/video/video_file.py +907 -0
- endoreg_db/models/media/video/video_file_ai.py +828 -0
- endoreg_db/models/media/video/video_file_anonymize.py +524 -0
- endoreg_db/models/media/video/video_file_frames/__init__.py +49 -0
- endoreg_db/models/media/video/video_file_frames/_bulk_create_frames.py +25 -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 +126 -0
- endoreg_db/models/media/video/video_file_frames/_extract_frames.py +233 -0
- endoreg_db/models/media/video/video_file_frames/_get_frame.py +36 -0
- endoreg_db/models/media/video/video_file_frames/_get_frame_number.py +13 -0
- endoreg_db/models/media/video/video_file_frames/_get_frame_path.py +24 -0
- endoreg_db/models/media/video/video_file_frames/_get_frame_paths.py +40 -0
- endoreg_db/models/media/video/video_file_frames/_get_frame_range.py +44 -0
- endoreg_db/models/media/video/video_file_frames/_get_frames.py +30 -0
- endoreg_db/models/media/video/video_file_frames/_initialize_frames.py +205 -0
- endoreg_db/models/media/video/video_file_frames/_manage_frame_range.py +228 -0
- endoreg_db/models/media/video/video_file_frames/_mark_frames_extracted_status.py +107 -0
- endoreg_db/models/media/video/video_file_io.py +272 -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 +58 -0
- endoreg_db/models/media/video/video_file_meta/get_endo_roi.py +62 -0
- endoreg_db/models/media/video/video_file_meta/get_fps.py +183 -0
- endoreg_db/models/media/video/video_file_meta/initialize_video_specs.py +198 -0
- endoreg_db/models/media/video/video_file_meta/text_meta.py +178 -0
- endoreg_db/models/media/video/video_file_meta/video_meta.py +105 -0
- endoreg_db/models/media/video/video_file_segments.py +317 -0
- endoreg_db/models/media/video/video_metadata.py +67 -0
- endoreg_db/models/media/video/video_processing.py +192 -0
- endoreg_db/models/medical/__init__.py +136 -0
- endoreg_db/models/medical/contraindication/README.md +1 -0
- endoreg_db/models/medical/contraindication/__init__.py +29 -0
- endoreg_db/models/medical/disease.py +174 -0
- endoreg_db/models/medical/event.py +154 -0
- endoreg_db/models/medical/examination/__init__.py +20 -0
- endoreg_db/models/medical/examination/examination.py +183 -0
- endoreg_db/models/medical/examination/examination_indication.py +229 -0
- endoreg_db/models/medical/examination/examination_time.py +68 -0
- endoreg_db/models/medical/examination/examination_time_type.py +44 -0
- endoreg_db/models/medical/examination/examination_type.py +47 -0
- endoreg_db/models/medical/finding/__init__.py +20 -0
- endoreg_db/models/medical/finding/finding.py +113 -0
- endoreg_db/models/medical/finding/finding_classification.py +131 -0
- endoreg_db/models/medical/finding/finding_intervention.py +68 -0
- endoreg_db/models/medical/finding/finding_type.py +38 -0
- endoreg_db/models/medical/hardware/__init__.py +8 -0
- endoreg_db/models/medical/hardware/endoscope.py +77 -0
- endoreg_db/models/medical/hardware/endoscopy_processor.py +182 -0
- endoreg_db/models/medical/laboratory/__init__.py +5 -0
- endoreg_db/models/medical/laboratory/lab_value.py +490 -0
- endoreg_db/models/medical/medication/__init__.py +23 -0
- endoreg_db/models/medical/medication/medication.py +45 -0
- endoreg_db/models/medical/medication/medication_indication.py +78 -0
- endoreg_db/models/medical/medication/medication_indication_type.py +58 -0
- endoreg_db/models/medical/medication/medication_intake_time.py +58 -0
- endoreg_db/models/medical/medication/medication_schedule.py +58 -0
- endoreg_db/models/medical/organ/__init__.py +38 -0
- endoreg_db/models/medical/patient/__init__.py +48 -0
- endoreg_db/models/medical/patient/medication_examples.py +56 -0
- endoreg_db/models/medical/patient/patient_disease.py +72 -0
- endoreg_db/models/medical/patient/patient_event.py +80 -0
- endoreg_db/models/medical/patient/patient_examination.py +280 -0
- endoreg_db/models/medical/patient/patient_examination_indication.py +57 -0
- endoreg_db/models/medical/patient/patient_finding.py +416 -0
- endoreg_db/models/medical/patient/patient_finding_classification.py +231 -0
- endoreg_db/models/medical/patient/patient_finding_intervention.py +37 -0
- endoreg_db/models/medical/patient/patient_lab_sample.py +157 -0
- endoreg_db/models/medical/patient/patient_lab_value.py +247 -0
- endoreg_db/models/medical/patient/patient_medication.py +111 -0
- endoreg_db/models/medical/patient/patient_medication_schedule.py +152 -0
- endoreg_db/models/medical/risk/__init__.py +7 -0
- endoreg_db/models/medical/risk/risk.py +73 -0
- endoreg_db/models/medical/risk/risk_type.py +54 -0
- endoreg_db/models/metadata/__init__.py +19 -0
- endoreg_db/models/metadata/model_meta.py +266 -0
- endoreg_db/models/metadata/model_meta_logic.py +485 -0
- endoreg_db/models/metadata/pdf_meta.py +96 -0
- endoreg_db/models/metadata/sensitive_meta.py +345 -0
- endoreg_db/models/metadata/sensitive_meta_logic.py +1161 -0
- endoreg_db/models/metadata/video_meta.py +459 -0
- endoreg_db/models/metadata/video_prediction_logic.py +232 -0
- endoreg_db/models/metadata/video_prediction_meta.py +319 -0
- endoreg_db/models/operation_log.py +63 -0
- endoreg_db/models/other/__init__.py +40 -0
- endoreg_db/models/other/distribution/__init__.py +46 -0
- endoreg_db/models/other/distribution/base_value_distribution.py +22 -0
- endoreg_db/models/other/distribution/date_value_distribution.py +163 -0
- endoreg_db/models/other/distribution/multiple_categorical_value_distribution.py +50 -0
- endoreg_db/models/other/distribution/numeric_value_distribution.py +211 -0
- endoreg_db/models/other/distribution/single_categorical_value_distribution.py +23 -0
- endoreg_db/models/other/emission/__init__.py +5 -0
- endoreg_db/models/other/emission/emission_factor.py +110 -0
- endoreg_db/models/other/gender.py +32 -0
- endoreg_db/models/other/information_source.py +190 -0
- endoreg_db/models/other/material.py +34 -0
- endoreg_db/models/other/resource.py +24 -0
- endoreg_db/models/other/tag.py +32 -0
- endoreg_db/models/other/transport_route.py +40 -0
- endoreg_db/models/other/unit.py +40 -0
- endoreg_db/models/other/waste.py +28 -0
- endoreg_db/models/report/__init__.py +0 -0
- endoreg_db/models/report/images.py +0 -0
- endoreg_db/models/report/report.py +5 -0
- endoreg_db/models/requirement/__init__.py +11 -0
- endoreg_db/models/requirement/requirement.py +792 -0
- endoreg_db/models/requirement/requirement_error.py +84 -0
- endoreg_db/models/requirement/requirement_evaluation/__init__.py +6 -0
- endoreg_db/models/requirement/requirement_evaluation/evaluate_with_dependencies.py +268 -0
- endoreg_db/models/requirement/requirement_evaluation/get_values.py +40 -0
- endoreg_db/models/requirement/requirement_evaluation/operator_evaluation_models.py +6 -0
- endoreg_db/models/requirement/requirement_evaluation/requirement_type_parser.py +137 -0
- endoreg_db/models/requirement/requirement_operator.py +187 -0
- endoreg_db/models/requirement/requirement_set.py +327 -0
- endoreg_db/models/state/__init__.py +13 -0
- endoreg_db/models/state/abstract.py +11 -0
- endoreg_db/models/state/anonymization.py +30 -0
- endoreg_db/models/state/audit_ledger.py +155 -0
- endoreg_db/models/state/label_video_segment.py +31 -0
- endoreg_db/models/state/processing_history/__init__.py +3 -0
- endoreg_db/models/state/processing_history/processing_history.py +136 -0
- endoreg_db/models/state/raw_pdf.py +219 -0
- endoreg_db/models/state/sensitive_meta.py +50 -0
- endoreg_db/models/state/video.py +251 -0
- endoreg_db/models/upload_job.py +100 -0
- endoreg_db/models/utils.py +138 -0
- endoreg_db/queries/__init__.py +3 -0
- endoreg_db/queries/annotations/__init__.py +1 -0
- endoreg_db/queries/annotations/legacy.py +169 -0
- endoreg_db/queries/sanity/__init_.py +0 -0
- endoreg_db/root_urls.py +27 -0
- endoreg_db/schemas/__init__.py +0 -0
- endoreg_db/schemas/examination_evaluation.py +30 -0
- endoreg_db/serializers/Frames_NICE_and_PARIS_classifications.py +861 -0
- endoreg_db/serializers/__init__.py +104 -0
- endoreg_db/serializers/administration/__init__.py +13 -0
- endoreg_db/serializers/administration/ai/__init__.py +9 -0
- endoreg_db/serializers/administration/ai/active_model.py +12 -0
- endoreg_db/serializers/administration/ai/ai_model.py +20 -0
- endoreg_db/serializers/administration/ai/model_type.py +12 -0
- endoreg_db/serializers/administration/center.py +14 -0
- endoreg_db/serializers/administration/gender.py +11 -0
- endoreg_db/serializers/anonymization.py +77 -0
- endoreg_db/serializers/evaluation/examination_evaluation.py +0 -0
- endoreg_db/serializers/examination/__init__.py +10 -0
- endoreg_db/serializers/examination/base.py +45 -0
- endoreg_db/serializers/examination/dropdown.py +20 -0
- endoreg_db/serializers/examination_serializer.py +9 -0
- endoreg_db/serializers/finding/__init__.py +5 -0
- endoreg_db/serializers/finding/finding.py +61 -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 +11 -0
- endoreg_db/serializers/label_video_segment/__init__.py +9 -0
- endoreg_db/serializers/label_video_segment/image_classification_annotation.py +62 -0
- endoreg_db/serializers/label_video_segment/label/__init__.py +6 -0
- endoreg_db/serializers/label_video_segment/label/label.py +15 -0
- endoreg_db/serializers/label_video_segment/label_video_segment.py +427 -0
- endoreg_db/serializers/meta/__init__.py +13 -0
- endoreg_db/serializers/meta/sensitive_meta_detail.py +122 -0
- endoreg_db/serializers/meta/sensitive_meta_update.py +153 -0
- endoreg_db/serializers/meta/sensitive_meta_verification.py +62 -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 +72 -0
- endoreg_db/serializers/misc/sensitive_patient_data.py +144 -0
- endoreg_db/serializers/misc/stats.py +35 -0
- endoreg_db/serializers/misc/translatable_field_mix_in.py +44 -0
- endoreg_db/serializers/misc/upload_job.py +74 -0
- endoreg_db/serializers/patient/__init__.py +12 -0
- endoreg_db/serializers/patient/patient.py +103 -0
- endoreg_db/serializers/patient/patient_dropdown.py +35 -0
- endoreg_db/serializers/patient_examination/__init__.py +7 -0
- endoreg_db/serializers/patient_examination/patient_examination.py +168 -0
- endoreg_db/serializers/patient_finding/__init__.py +15 -0
- endoreg_db/serializers/patient_finding/patient_finding.py +32 -0
- endoreg_db/serializers/patient_finding/patient_finding_classification.py +47 -0
- endoreg_db/serializers/patient_finding/patient_finding_detail.py +62 -0
- endoreg_db/serializers/patient_finding/patient_finding_intervention.py +28 -0
- endoreg_db/serializers/patient_finding/patient_finding_list.py +40 -0
- endoreg_db/serializers/patient_finding/patient_finding_write.py +135 -0
- endoreg_db/serializers/pdf/__init__.py +3 -0
- endoreg_db/serializers/pdf/anony_text_validation.py +101 -0
- endoreg_db/serializers/requirements/requirement_schema.py +20 -0
- endoreg_db/serializers/requirements/requirement_sets.py +99 -0
- endoreg_db/serializers/sensitive_meta_serializer.py +301 -0
- endoreg_db/serializers/video/__init__.py +7 -0
- endoreg_db/serializers/video/video_file.py +283 -0
- endoreg_db/serializers/video/video_file_brief.py +14 -0
- endoreg_db/serializers/video/video_file_detail.py +96 -0
- endoreg_db/serializers/video/video_file_list.py +100 -0
- endoreg_db/serializers/video/video_processing_history.py +172 -0
- endoreg_db/serializers/video_examination.py +198 -0
- endoreg_db/services/__init__.py +5 -0
- endoreg_db/services/anonymization.py +274 -0
- endoreg_db/services/examination_evaluation.py +172 -0
- endoreg_db/services/finding_description_service.py +0 -0
- endoreg_db/services/lookup_service.py +424 -0
- endoreg_db/services/lookup_store.py +266 -0
- endoreg_db/services/model_meta_from_hf.py +76 -0
- endoreg_db/services/pdf_import.py +0 -0
- endoreg_db/services/polling_coordinator.py +319 -0
- endoreg_db/services/pseudonym_service.py +94 -0
- endoreg_db/services/report_import.py +13 -0
- endoreg_db/services/segment_sync.py +171 -0
- endoreg_db/services/video_import.py +9 -0
- endoreg_db/templates/admin/patient_finding_intervention.html +253 -0
- endoreg_db/templates/admin/start_examination.html +12 -0
- endoreg_db/templates/timeline.html +176 -0
- endoreg_db/urls/__init__.py +56 -0
- endoreg_db/urls/ai.py +14 -0
- endoreg_db/urls/anonymization.py +78 -0
- endoreg_db/urls/auth.py +16 -0
- endoreg_db/urls/classification.py +34 -0
- endoreg_db/urls/examination.py +63 -0
- endoreg_db/urls/media.py +251 -0
- endoreg_db/urls/patient.py +23 -0
- endoreg_db/urls/requirements.py +15 -0
- endoreg_db/urls/root_urls.py +28 -0
- endoreg_db/urls/stats.py +54 -0
- endoreg_db/urls/upload.py +12 -0
- endoreg_db/urls.py +9 -0
- endoreg_db/utils/__init__.py +97 -0
- endoreg_db/utils/ai/__init__.py +9 -0
- endoreg_db/utils/ai/data_loader_for_model_input.py +262 -0
- endoreg_db/utils/ai/data_loader_for_model_training.py +262 -0
- endoreg_db/utils/ai/get.py +6 -0
- endoreg_db/utils/ai/inference_dataset.py +51 -0
- endoreg_db/utils/ai/model_training/config.py +117 -0
- endoreg_db/utils/ai/model_training/dataset.py +74 -0
- endoreg_db/utils/ai/model_training/losses.py +68 -0
- endoreg_db/utils/ai/model_training/metrics.py +78 -0
- endoreg_db/utils/ai/model_training/model_backbones.py +155 -0
- endoreg_db/utils/ai/model_training/model_gastronet_resnet.py +118 -0
- endoreg_db/utils/ai/model_training/trainer_gastronet_multilabel.py +771 -0
- endoreg_db/utils/ai/multilabel_classification_net.py +270 -0
- endoreg_db/utils/ai/postprocess.py +63 -0
- endoreg_db/utils/ai/predict.py +293 -0
- endoreg_db/utils/ai/preprocess.py +76 -0
- endoreg_db/utils/calc_duration_seconds.py +24 -0
- endoreg_db/utils/case_generator/__init__.py +3 -0
- endoreg_db/utils/case_generator/lab_sample_factory.py +32 -0
- endoreg_db/utils/check_video_files.py +175 -0
- endoreg_db/utils/cropping.py +30 -0
- endoreg_db/utils/dataloader.py +285 -0
- endoreg_db/utils/dates.py +59 -0
- endoreg_db/utils/defaults/set_default_center.py +33 -0
- endoreg_db/utils/env.py +37 -0
- endoreg_db/utils/extract_specific_frames.py +87 -0
- endoreg_db/utils/file_operations.py +70 -0
- endoreg_db/utils/fix_video_path_direct.py +157 -0
- endoreg_db/utils/frame_anonymization_utils.py +463 -0
- endoreg_db/utils/hashs.py +138 -0
- endoreg_db/utils/links/__init__.py +0 -0
- endoreg_db/utils/links/requirement_link.py +237 -0
- endoreg_db/utils/mime_types.py +0 -0
- endoreg_db/utils/names.py +82 -0
- endoreg_db/utils/ocr.py +195 -0
- endoreg_db/utils/operation_log.py +87 -0
- endoreg_db/utils/parse_and_generate_yaml.py +45 -0
- endoreg_db/utils/paths.py +159 -0
- endoreg_db/utils/permissions.py +160 -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 +144 -0
- endoreg_db/utils/product/__init__.py +0 -0
- endoreg_db/utils/product/sum_emissions.py +22 -0
- endoreg_db/utils/product/sum_weights.py +20 -0
- endoreg_db/utils/pydantic_models/__init__.py +5 -0
- endoreg_db/utils/pydantic_models/db_config.py +57 -0
- endoreg_db/utils/requirement_helpers.py +0 -0
- endoreg_db/utils/requirement_operator_logic/__init__.py +0 -0
- endoreg_db/utils/requirement_operator_logic/_old/lab_value_operators.py +678 -0
- endoreg_db/utils/requirement_operator_logic/_old/model_evaluators.py +842 -0
- endoreg_db/utils/requirement_operator_logic/new_operator_logic.py +114 -0
- endoreg_db/utils/setup_config.py +196 -0
- endoreg_db/utils/storage.py +117 -0
- endoreg_db/utils/translation.py +31 -0
- endoreg_db/utils/uuid.py +5 -0
- endoreg_db/utils/validate_endo_roi.py +33 -0
- endoreg_db/utils/validate_subcategory_dict.py +93 -0
- endoreg_db/utils/validate_video_detailed.py +415 -0
- endoreg_db/utils/video/__init__.py +30 -0
- endoreg_db/utils/video/extract_frames.py +100 -0
- endoreg_db/utils/video/ffmpeg_wrapper.py +996 -0
- endoreg_db/utils/video/names.py +47 -0
- endoreg_db/utils/video/streaming_processor.py +386 -0
- endoreg_db/utils/video/video_splitter.py +105 -0
- endoreg_db/versioning.md +79 -0
- endoreg_db/views/Frames_NICE_and_PARIS_classifications_views.py +247 -0
- endoreg_db/views/__init__.py +157 -0
- endoreg_db/views/anonymization/__init__.py +31 -0
- endoreg_db/views/anonymization/media_management.py +486 -0
- endoreg_db/views/anonymization/overview.py +307 -0
- endoreg_db/views/anonymization/validate.py +310 -0
- endoreg_db/views/auth/__init__.py +13 -0
- endoreg_db/views/auth/keycloak.py +146 -0
- endoreg_db/views/examination/__init__.py +30 -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 +62 -0
- endoreg_db/views/examination/get_finding_classifications.py +38 -0
- endoreg_db/views/examination/get_findings.py +39 -0
- endoreg_db/views/examination/get_instruments.py +19 -0
- endoreg_db/views/examination/get_interventions.py +14 -0
- endoreg_db/views/finding/__init__.py +9 -0
- endoreg_db/views/finding/finding.py +116 -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 +41 -0
- endoreg_db/views/finding_classification/get_classification_choices.py +54 -0
- endoreg_db/views/media/__init__.py +32 -0
- endoreg_db/views/media/pdf_media.py +411 -0
- endoreg_db/views/media/sensitive_metadata.py +372 -0
- endoreg_db/views/media/video_media.py +275 -0
- endoreg_db/views/meta/__init__.py +7 -0
- endoreg_db/views/meta/sensitive_meta_list.py +102 -0
- endoreg_db/views/meta/sensitive_meta_verification.py +74 -0
- endoreg_db/views/misc/__init__.py +29 -0
- endoreg_db/views/misc/center.py +14 -0
- endoreg_db/views/misc/csrf.py +8 -0
- endoreg_db/views/misc/gender.py +15 -0
- endoreg_db/views/misc/stats.py +255 -0
- endoreg_db/views/misc/upload_views.py +241 -0
- endoreg_db/views/patient/__init__.py +3 -0
- endoreg_db/views/patient/patient.py +253 -0
- endoreg_db/views/patient_examination/__init__.py +11 -0
- endoreg_db/views/patient_examination/patient_examination.py +141 -0
- endoreg_db/views/patient_examination/patient_examination_create.py +58 -0
- endoreg_db/views/patient_examination/patient_examination_detail.py +63 -0
- endoreg_db/views/patient_examination/patient_examination_list.py +72 -0
- endoreg_db/views/patient_examination/video.py +228 -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 +71 -0
- endoreg_db/views/patient_finding/patient_finding_optimized.py +291 -0
- endoreg_db/views/patient_finding_classification/__init__.py +5 -0
- endoreg_db/views/patient_finding_classification/pfc_create.py +75 -0
- endoreg_db/views/report/__init__.py +7 -0
- endoreg_db/views/report/reimport.py +177 -0
- endoreg_db/views/report/report_stream.py +191 -0
- endoreg_db/views/requirement/__init__.py +11 -0
- endoreg_db/views/requirement/evaluate.py +278 -0
- endoreg_db/views/requirement/lookup.py +380 -0
- endoreg_db/views/requirement/lookup_store.py +183 -0
- endoreg_db/views/requirement/requirement_utils.py +87 -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 +266 -0
- endoreg_db/views/video/__init__.py +49 -0
- endoreg_db/views/video/ai/__init__.py +8 -0
- endoreg_db/views/video/ai/label.py +159 -0
- endoreg_db/views/video/correction.py +529 -0
- endoreg_db/views/video/reimport.py +230 -0
- endoreg_db/views/video/segments_crud.py +709 -0
- endoreg_db/views/video/video_apply_mask.py +49 -0
- endoreg_db/views/video/video_correction.py +22 -0
- endoreg_db/views/video/video_download_processed.py +58 -0
- endoreg_db/views/video/video_examination_viewset.py +242 -0
- endoreg_db/views/video/video_metadata.py +101 -0
- endoreg_db/views/video/video_processing_history.py +25 -0
- endoreg_db/views/video/video_remove_frames.py +49 -0
- endoreg_db/views/video/video_stream.py +334 -0
- endoreg_db-0.8.9.32.dist-info/METADATA +404 -0
- endoreg_db-0.8.9.32.dist-info/RECORD +787 -0
- endoreg_db-0.8.9.32.dist-info/WHEEL +4 -0
- endoreg_db-0.8.9.32.dist-info/licenses/LICENSE +674 -0
|
@@ -0,0 +1,441 @@
|
|
|
1
|
+
- model: endoreg_db.requirement
|
|
2
|
+
fields:
|
|
3
|
+
name: "lab_value_latest_creatinine_above_normal"
|
|
4
|
+
name_de: "Laborwert über Normalwert"
|
|
5
|
+
name_en: "Lab value above normal"
|
|
6
|
+
description: "Lab value above normal"
|
|
7
|
+
requirement_types:
|
|
8
|
+
- "patient"
|
|
9
|
+
- "patient_lab_sample"
|
|
10
|
+
- "patient_lab_value"
|
|
11
|
+
- "patient_examination"
|
|
12
|
+
operators:
|
|
13
|
+
- lab_latest_numeric_increased
|
|
14
|
+
lab_values:
|
|
15
|
+
- "creatinine"
|
|
16
|
+
|
|
17
|
+
- model: endoreg_db.requirement
|
|
18
|
+
fields:
|
|
19
|
+
name: "lab_value_latest_hb_below_normal"
|
|
20
|
+
name_de: "Laborwert Hämoglobin unter Normalwert"
|
|
21
|
+
name_en: "Lab value hemoglobin below normal"
|
|
22
|
+
description: "Lab value hemoglobin below normal"
|
|
23
|
+
requirement_types:
|
|
24
|
+
- "patient"
|
|
25
|
+
- "patient_lab_sample"
|
|
26
|
+
- "patient_lab_value"
|
|
27
|
+
- "patient_examination"
|
|
28
|
+
operators:
|
|
29
|
+
- lab_latest_numeric_decreased
|
|
30
|
+
lab_values:
|
|
31
|
+
- "hemoglobin"
|
|
32
|
+
|
|
33
|
+
- model: endoreg_db.requirement
|
|
34
|
+
fields:
|
|
35
|
+
name: "lab_value_latest_hb_below_8"
|
|
36
|
+
name_de: "Laborwert Hämoglobin unter 8"
|
|
37
|
+
name_en: "Lab value hemoglobin below 8"
|
|
38
|
+
description: "Lab value hemoglobin below 8"
|
|
39
|
+
requirement_types:
|
|
40
|
+
- "patient"
|
|
41
|
+
- "patient_lab_sample"
|
|
42
|
+
- "patient_lab_value"
|
|
43
|
+
- "patient_examination"
|
|
44
|
+
operators:
|
|
45
|
+
- lab_latest_numeric_lower_than_value
|
|
46
|
+
lab_values:
|
|
47
|
+
- "hemoglobin"
|
|
48
|
+
numeric_value: 8
|
|
49
|
+
unit: "gram per deciliter"
|
|
50
|
+
|
|
51
|
+
# acute kidney injury
|
|
52
|
+
- model: endoreg_db.requirement
|
|
53
|
+
fields:
|
|
54
|
+
name: "lab_value_latest_creatinine_above_1_5"
|
|
55
|
+
name_de: "Laborwert Kreatinin über 1,5"
|
|
56
|
+
name_en: "Lab value creatinine above 1.5"
|
|
57
|
+
description: "Lab value creatinine above 1.5"
|
|
58
|
+
requirement_types:
|
|
59
|
+
- "patient"
|
|
60
|
+
- "patient_lab_sample"
|
|
61
|
+
- "patient_lab_value"
|
|
62
|
+
- "patient_examination"
|
|
63
|
+
operators:
|
|
64
|
+
- lab_latest_numeric_greater_than_value
|
|
65
|
+
lab_values:
|
|
66
|
+
- "creatinine"
|
|
67
|
+
numeric_value: 1.5
|
|
68
|
+
unit: "miligram per deciliter"
|
|
69
|
+
|
|
70
|
+
- model: endoreg_db.requirement
|
|
71
|
+
fields: # increase by factor 1.5 in 3 days
|
|
72
|
+
name: "lab_value_latest_creatinine_increased_factor_1_5_in_3_days"
|
|
73
|
+
name_de: "Laborwert Kreatinin um Faktor 1,5 erhöht innerhalb 3 Tage"
|
|
74
|
+
name_en: "Lab value creatinine increased by factor 1.5 within 3 days"
|
|
75
|
+
description: "Lab value creatinine increased by factor 1.5 within 3 days"
|
|
76
|
+
requirement_types:
|
|
77
|
+
- "patient"
|
|
78
|
+
- "patient_lab_sample"
|
|
79
|
+
- "patient_lab_value"
|
|
80
|
+
- "patient_examination"
|
|
81
|
+
operators:
|
|
82
|
+
- lab_latest_numeric_increased_factor_in_timeframe # Corrected operator name
|
|
83
|
+
lab_values:
|
|
84
|
+
- "creatinine"
|
|
85
|
+
numeric_value: 1.5
|
|
86
|
+
numeric_value_min: -3
|
|
87
|
+
numeric_value_max: 0
|
|
88
|
+
unit: "days"
|
|
89
|
+
|
|
90
|
+
# Coagulation
|
|
91
|
+
## Prothrombin time above normal
|
|
92
|
+
- model: endoreg_db.requirement
|
|
93
|
+
fields:
|
|
94
|
+
name: "lab_value_latest_prothrombin_time_above_normal"
|
|
95
|
+
name_de: "Laborwert Prothrombinzeit über Normalwert"
|
|
96
|
+
name_en: "Lab value prothrombin time above normal"
|
|
97
|
+
description: "Lab value prothrombin time above normal"
|
|
98
|
+
requirement_types:
|
|
99
|
+
- "patient"
|
|
100
|
+
- "patient_lab_sample"
|
|
101
|
+
- "patient_lab_value"
|
|
102
|
+
- "patient_examination"
|
|
103
|
+
operators:
|
|
104
|
+
- lab_latest_numeric_increased
|
|
105
|
+
lab_values:
|
|
106
|
+
- "prothrombin_time"
|
|
107
|
+
|
|
108
|
+
## Activated partial thromboplastin time (aPTT) above normal
|
|
109
|
+
- model: endoreg_db.requirement
|
|
110
|
+
fields:
|
|
111
|
+
name: "lab_value_latest_activated_partial_thromboplastin_time_above_normal"
|
|
112
|
+
name_de: "Laborwert aktivierte partielle Thromboplastinzeit über Normalwert"
|
|
113
|
+
name_en: "Lab value activated partial thromboplastin time above normal"
|
|
114
|
+
description: "Lab value activated partial thromboplastin time above normal"
|
|
115
|
+
requirement_types:
|
|
116
|
+
- "patient"
|
|
117
|
+
- "patient_lab_sample"
|
|
118
|
+
- "patient_lab_value"
|
|
119
|
+
- "patient_examination"
|
|
120
|
+
operators:
|
|
121
|
+
- lab_latest_numeric_increased
|
|
122
|
+
lab_values:
|
|
123
|
+
- "activated_partial_thromboplastin_time"
|
|
124
|
+
|
|
125
|
+
## Fibrinogen below normal
|
|
126
|
+
- model: endoreg_db.requirement
|
|
127
|
+
fields:
|
|
128
|
+
name: "lab_value_latest_alkaline_phosphatase_below_normal"
|
|
129
|
+
name_de: "Laborwert Alkalische Phosphatase unter Normalwert"
|
|
130
|
+
name_en: "Lab value alkaline phosphatase below normal"
|
|
131
|
+
description: "Lab value alkaline phosphatase below normal"
|
|
132
|
+
requirement_types:
|
|
133
|
+
- "patient"
|
|
134
|
+
- "patient_lab_sample"
|
|
135
|
+
- "patient_lab_value"
|
|
136
|
+
- "patient_examination"
|
|
137
|
+
operators:
|
|
138
|
+
- lab_latest_numeric_decreased
|
|
139
|
+
lab_values:
|
|
140
|
+
- "alkaline_phosphatase"
|
|
141
|
+
|
|
142
|
+
## INR above normal
|
|
143
|
+
- model: endoreg_db.requirement
|
|
144
|
+
fields:
|
|
145
|
+
name: "lab_value_latest_international_normalized_ratio_above_normal"
|
|
146
|
+
name_de: "Laborwert International Normalisierte Ratio über Normalwert"
|
|
147
|
+
name_en: "Lab value international normalized ratio above normal"
|
|
148
|
+
description: "Lab value international normalized ratio above normal"
|
|
149
|
+
requirement_types:
|
|
150
|
+
- "patient"
|
|
151
|
+
- "patient_lab_sample"
|
|
152
|
+
- "patient_lab_value"
|
|
153
|
+
- "patient_examination"
|
|
154
|
+
operators:
|
|
155
|
+
- lab_latest_numeric_increased
|
|
156
|
+
lab_values:
|
|
157
|
+
- "international_normalized_ratio"
|
|
158
|
+
|
|
159
|
+
# New Requirement for lab_latest_numeric_normal
|
|
160
|
+
- model: endoreg_db.requirement
|
|
161
|
+
fields:
|
|
162
|
+
name: "lab_value_latest_leukocytes_normal"
|
|
163
|
+
name_de: "Laborwert Leukozyten im Normalbereich"
|
|
164
|
+
name_en: "Lab value leukocytes normal"
|
|
165
|
+
description: "Checks if the latest leukocyte count is within the normal range."
|
|
166
|
+
requirement_types:
|
|
167
|
+
- "patient"
|
|
168
|
+
- "patient_lab_sample"
|
|
169
|
+
- "patient_lab_value"
|
|
170
|
+
- "patient_examination"
|
|
171
|
+
operators:
|
|
172
|
+
- lab_latest_numeric_normal
|
|
173
|
+
lab_values:
|
|
174
|
+
- "white_blood_cells" # Changed from leukocyte_count
|
|
175
|
+
|
|
176
|
+
# New examples for missing operators
|
|
177
|
+
|
|
178
|
+
# lab_latest_numeric_decreased_factor_in_timeframe
|
|
179
|
+
- model: endoreg_db.requirement
|
|
180
|
+
fields:
|
|
181
|
+
name: "lab_value_latest_platelets_decreased_factor_2_in_7_days"
|
|
182
|
+
name_de: "Laborwert Thrombozyten um Faktor 2 verringert innerhalb 7 Tage"
|
|
183
|
+
name_en: "Lab value platelets decreased by factor 2 within 7 days"
|
|
184
|
+
description: "Lab value platelets decreased by factor 2 within 7 days. Indicates potential significant drop."
|
|
185
|
+
requirement_types:
|
|
186
|
+
- "patient"
|
|
187
|
+
- "patient_lab_sample"
|
|
188
|
+
- "patient_lab_value"
|
|
189
|
+
operators:
|
|
190
|
+
- lab_latest_numeric_decreased_factor_in_timeframe
|
|
191
|
+
lab_values:
|
|
192
|
+
- "platelets" # Changed from platelet_count
|
|
193
|
+
numeric_value: 2 # Factor
|
|
194
|
+
numeric_value_min: -7 # Days ago (start of timeframe)
|
|
195
|
+
numeric_value_max: 0 # Days ago (end of timeframe, i.e., today)
|
|
196
|
+
unit: "days" # Unit for timeframe
|
|
197
|
+
|
|
198
|
+
# lab_latest_numeric_normal_in_timeframe
|
|
199
|
+
- model: endoreg_db.requirement
|
|
200
|
+
fields:
|
|
201
|
+
name: "lab_value_potassium_normal_in_last_24_hours"
|
|
202
|
+
name_de: "Laborwert Kalium im Normalbereich innerhalb der letzten 24 Stunden"
|
|
203
|
+
name_en: "Lab value potassium normal within the last 24 hours"
|
|
204
|
+
description: "Checks if potassium was normal at any point in the last 24 hours."
|
|
205
|
+
requirement_types:
|
|
206
|
+
- "patient"
|
|
207
|
+
- "patient_lab_sample"
|
|
208
|
+
- "patient_lab_value"
|
|
209
|
+
operators:
|
|
210
|
+
- lab_latest_numeric_normal_in_timeframe
|
|
211
|
+
lab_values:
|
|
212
|
+
- "potassium"
|
|
213
|
+
numeric_value_min: -1 # Days ago (start of timeframe, 24 hours)
|
|
214
|
+
numeric_value_max: 0 # Days ago (end of timeframe, i.e., today)
|
|
215
|
+
unit: "days"
|
|
216
|
+
|
|
217
|
+
# lab_latest_numeric_lower_than_value_in_timeframe
|
|
218
|
+
- model: endoreg_db.requirement
|
|
219
|
+
fields:
|
|
220
|
+
name: "lab_value_glucose_below_70_in_last_3_days"
|
|
221
|
+
name_de: "Laborwert Glukose unter 70 mg/dL innerhalb der letzten 3 Tage"
|
|
222
|
+
name_en: "Lab value glucose below 70 mg/dL within the last 3 days"
|
|
223
|
+
description: "Checks for any hypoglycemic event (glucose < 70) in the last 3 days."
|
|
224
|
+
requirement_types:
|
|
225
|
+
- "patient"
|
|
226
|
+
- "patient_lab_sample"
|
|
227
|
+
- "patient_lab_value"
|
|
228
|
+
operators:
|
|
229
|
+
- lab_latest_numeric_lower_than_value_in_timeframe
|
|
230
|
+
lab_values:
|
|
231
|
+
- "glucose"
|
|
232
|
+
numeric_value: 70 # Threshold value
|
|
233
|
+
numeric_value_min: -3 # Days ago
|
|
234
|
+
numeric_value_max: 0 # Days ago
|
|
235
|
+
unit: "miligram per deciliter" # Unit of the numeric_value, contextually
|
|
236
|
+
|
|
237
|
+
# lab_latest_numeric_greater_than_value_in_timeframe
|
|
238
|
+
- model: endoreg_db.requirement
|
|
239
|
+
fields:
|
|
240
|
+
name: "lab_value_crp_above_10_in_last_week"
|
|
241
|
+
name_de: "Laborwert CRP über 10 mg/L innerhalb der letzten Woche"
|
|
242
|
+
name_en: "Lab value CRP above 10 mg/L within the last week"
|
|
243
|
+
description: "Checks for elevated CRP (>10 mg/L) at any point in the last week, indicating inflammation."
|
|
244
|
+
requirement_types:
|
|
245
|
+
- "patient"
|
|
246
|
+
- "patient_lab_sample"
|
|
247
|
+
- "patient_lab_value"
|
|
248
|
+
operators:
|
|
249
|
+
- lab_latest_numeric_greater_than_value_in_timeframe
|
|
250
|
+
lab_values:
|
|
251
|
+
- "c_reactive_protein"
|
|
252
|
+
numeric_value: 10 # Threshold value
|
|
253
|
+
numeric_value_min: -7 # Days ago
|
|
254
|
+
numeric_value_max: 0 # Days ago
|
|
255
|
+
unit: "miligram per liter" # Unit of the numeric_value, contextually
|
|
256
|
+
|
|
257
|
+
# lab_latest_categorical_match
|
|
258
|
+
- model: endoreg_db.requirement
|
|
259
|
+
fields:
|
|
260
|
+
name: "lab_value_blood_group_A"
|
|
261
|
+
name_de: "Laborwert Blutgruppe A"
|
|
262
|
+
name_en: "Lab value blood group A"
|
|
263
|
+
description: "Checks if the latest blood group determination is 'A'."
|
|
264
|
+
requirement_types:
|
|
265
|
+
- "patient"
|
|
266
|
+
- "patient_lab_sample"
|
|
267
|
+
- "patient_lab_value"
|
|
268
|
+
operators:
|
|
269
|
+
- lab_latest_categorical_match
|
|
270
|
+
lab_values:
|
|
271
|
+
- "blood_group" # Assuming 'blood_group' is a LabValue that stores categorical string
|
|
272
|
+
string_value: "A"
|
|
273
|
+
|
|
274
|
+
# lab_latest_categorical_match_substring
|
|
275
|
+
- model: endoreg_db.requirement
|
|
276
|
+
fields:
|
|
277
|
+
name: "lab_value_urine_bacteria_positive"
|
|
278
|
+
name_de: "Laborwert Urin Bakterien positiv"
|
|
279
|
+
name_en: "Lab value urine bacteria positive"
|
|
280
|
+
description: "Checks if the latest urine bacteria result contains 'positiv'."
|
|
281
|
+
requirement_types:
|
|
282
|
+
- "patient"
|
|
283
|
+
- "patient_lab_sample"
|
|
284
|
+
- "patient_lab_value"
|
|
285
|
+
operators:
|
|
286
|
+
- lab_latest_categorical_match_substring
|
|
287
|
+
lab_values:
|
|
288
|
+
- "urine_bacteria_culture" # Example LabValue name
|
|
289
|
+
string_value: "positiv" # Substring to search for
|
|
290
|
+
|
|
291
|
+
# lab_latest_categorical_match_regex
|
|
292
|
+
- model: endoreg_db.requirement
|
|
293
|
+
fields:
|
|
294
|
+
name: "lab_value_pathogen_detected_staph_aureus"
|
|
295
|
+
name_de: "Laborwert Erreger Staphylococcus aureus nachgewiesen"
|
|
296
|
+
name_en: "Lab value pathogen detected Staphylococcus aureus"
|
|
297
|
+
description: "Checks if 'Staphylococcus aureus' (case-insensitive) is mentioned in the latest pathogen report."
|
|
298
|
+
requirement_types:
|
|
299
|
+
- "patient"
|
|
300
|
+
- "patient_lab_sample"
|
|
301
|
+
- "patient_lab_value"
|
|
302
|
+
operators:
|
|
303
|
+
- lab_latest_categorical_match_regex
|
|
304
|
+
lab_values:
|
|
305
|
+
- "microbiology_pathogen_report" # Example LabValue name
|
|
306
|
+
string_value: "(?i)Staphylococcus\\s+aureus" # Regex for case-insensitive match
|
|
307
|
+
|
|
308
|
+
# lab_latest_categorical_match_in_timeframe
|
|
309
|
+
- model: endoreg_db.requirement
|
|
310
|
+
fields:
|
|
311
|
+
name: "lab_value_drug_test_positive_in_last_month"
|
|
312
|
+
name_de: "Laborwert Drogentest positiv im letzten Monat"
|
|
313
|
+
name_en: "Lab value drug test positive in the last month"
|
|
314
|
+
description: "Checks if any drug test was 'positiv' in the last 30 days."
|
|
315
|
+
requirement_types:
|
|
316
|
+
- "patient"
|
|
317
|
+
- "patient_lab_sample"
|
|
318
|
+
- "patient_lab_value"
|
|
319
|
+
operators:
|
|
320
|
+
- lab_latest_categorical_match_in_timeframe
|
|
321
|
+
lab_values:
|
|
322
|
+
- "drug_screening_urine" # Example LabValue name
|
|
323
|
+
string_value: "positiv"
|
|
324
|
+
numeric_value_min: -30 # Days ago
|
|
325
|
+
numeric_value_max: 0 # Days ago
|
|
326
|
+
unit: "days"
|
|
327
|
+
|
|
328
|
+
# lab_latest_categorical_match_substring_in_timeframe
|
|
329
|
+
- model: endoreg_db.requirement
|
|
330
|
+
fields:
|
|
331
|
+
name: "lab_value_antibiotic_resistance_gentamicin_in_last_year"
|
|
332
|
+
name_de: "Laborwert Antibiotikaresistenz Gentamicin im letzten Jahr"
|
|
333
|
+
name_en: "Lab value antibiotic resistance Gentamicin in the last year"
|
|
334
|
+
description: "Checks if 'Gentamicin' resistance was mentioned in any report in the last year."
|
|
335
|
+
requirement_types:
|
|
336
|
+
- "patient"
|
|
337
|
+
- "patient_lab_sample"
|
|
338
|
+
- "patient_lab_value"
|
|
339
|
+
operators:
|
|
340
|
+
- lab_latest_categorical_match_substring_in_timeframe
|
|
341
|
+
lab_values:
|
|
342
|
+
- "antibiotic_resistance_report" # Example LabValue name
|
|
343
|
+
string_value: "Gentamicin"
|
|
344
|
+
numeric_value_min: -365 # Days ago
|
|
345
|
+
numeric_value_max: 0 # Days ago
|
|
346
|
+
unit: "days"
|
|
347
|
+
|
|
348
|
+
# lab_latest_categorical_match_regex_in_timeframe
|
|
349
|
+
- model: endoreg_db.requirement
|
|
350
|
+
fields:
|
|
351
|
+
name: "lab_value_abnormal_cells_detected_in_cytology_last_6_months"
|
|
352
|
+
name_de: "Laborwert atypische Zellen in Zytologie in letzten 6 Monaten nachgewiesen"
|
|
353
|
+
name_en: "Lab value abnormal cells detected in cytology in last 6 months"
|
|
354
|
+
description: "Checks for mention of 'atypical' or 'malignant' cells in cytology reports in the last 6 months."
|
|
355
|
+
requirement_types:
|
|
356
|
+
- "patient"
|
|
357
|
+
- "patient_lab_sample"
|
|
358
|
+
- "patient_lab_value"
|
|
359
|
+
operators:
|
|
360
|
+
- lab_latest_categorical_match_regex_in_timeframe
|
|
361
|
+
lab_values:
|
|
362
|
+
- "cytology_report" # Example LabValue name
|
|
363
|
+
string_value: "(?i)(atypical|malignant)" # Regex for 'atypical' or 'malignant'
|
|
364
|
+
numeric_value_min: -180 # Days ago (approx 6 months)
|
|
365
|
+
numeric_value_max: 0 # Days ago
|
|
366
|
+
unit: "days"
|
|
367
|
+
|
|
368
|
+
- model: endoreg_db.requirement
|
|
369
|
+
fields:
|
|
370
|
+
name: "lab_value_hb_normal"
|
|
371
|
+
name_de: "Hämoglobin im Normalbereich"
|
|
372
|
+
name_en: "Hemoglobin normal"
|
|
373
|
+
description: "Checks if the latest hemoglobin is within the normal range."
|
|
374
|
+
requirement_types:
|
|
375
|
+
- "patient"
|
|
376
|
+
- "patient_lab_sample"
|
|
377
|
+
- "patient_lab_value"
|
|
378
|
+
operators:
|
|
379
|
+
- lab_latest_numeric_normal
|
|
380
|
+
lab_values:
|
|
381
|
+
- "hemoglobin"
|
|
382
|
+
|
|
383
|
+
- model: endoreg_db.requirement
|
|
384
|
+
fields:
|
|
385
|
+
name: "lab_value_leukocytes_normal"
|
|
386
|
+
name_de: "Leukozyten im Normalbereich"
|
|
387
|
+
name_en: "Leukocytes normal"
|
|
388
|
+
description: "Checks if the latest leukocyte count is within the normal range."
|
|
389
|
+
requirement_types:
|
|
390
|
+
- "patient"
|
|
391
|
+
- "patient_lab_sample"
|
|
392
|
+
- "patient_lab_value"
|
|
393
|
+
operators:
|
|
394
|
+
- lab_latest_numeric_normal
|
|
395
|
+
lab_values:
|
|
396
|
+
- "white_blood_cells"
|
|
397
|
+
|
|
398
|
+
- model: endoreg_db.requirement
|
|
399
|
+
fields:
|
|
400
|
+
name: "lab_value_platelets_normal"
|
|
401
|
+
name_de: "Thrombozyten im Normalbereich"
|
|
402
|
+
name_en: "Platelets normal"
|
|
403
|
+
description: "Checks if the latest platelet count is within the normal range."
|
|
404
|
+
requirement_types:
|
|
405
|
+
- "patient"
|
|
406
|
+
- "patient_lab_sample"
|
|
407
|
+
- "patient_lab_value"
|
|
408
|
+
operators:
|
|
409
|
+
- lab_latest_numeric_normal
|
|
410
|
+
lab_values:
|
|
411
|
+
- "platelets"
|
|
412
|
+
|
|
413
|
+
- model: endoreg_db.requirement
|
|
414
|
+
fields:
|
|
415
|
+
name: "lab_value_creatinine_normal"
|
|
416
|
+
name_de: "Kreatinin im Normalbereich"
|
|
417
|
+
name_en: "Creatinine normal"
|
|
418
|
+
description: "Checks if the latest creatinine is within the normal range."
|
|
419
|
+
requirement_types:
|
|
420
|
+
- "patient"
|
|
421
|
+
- "patient_lab_sample"
|
|
422
|
+
- "patient_lab_value"
|
|
423
|
+
operators:
|
|
424
|
+
- lab_latest_numeric_normal
|
|
425
|
+
lab_values:
|
|
426
|
+
- "creatinine"
|
|
427
|
+
|
|
428
|
+
- model: endoreg_db.requirement
|
|
429
|
+
fields:
|
|
430
|
+
name: "lab_value_inr_normal"
|
|
431
|
+
name_de: "INR im Normalbereich"
|
|
432
|
+
name_en: "INR normal"
|
|
433
|
+
description: "Checks if the latest INR is within the normal range."
|
|
434
|
+
requirement_types:
|
|
435
|
+
- "patient"
|
|
436
|
+
- "patient_lab_sample"
|
|
437
|
+
- "patient_lab_value"
|
|
438
|
+
operators:
|
|
439
|
+
- lab_latest_numeric_normal
|
|
440
|
+
lab_values:
|
|
441
|
+
- "international_normalized_ratio"
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
- model: endoreg_db.requirement
|
|
2
|
+
fields:
|
|
3
|
+
name: "medication_aspirin_is_defined_in_requirement"
|
|
4
|
+
requirement_types: ["medication"]
|
|
5
|
+
operators: ["models_match_any"]
|
|
6
|
+
medications: ["aspirin"]
|
|
7
|
+
|
|
8
|
+
- model: endoreg_db.requirement
|
|
9
|
+
fields:
|
|
10
|
+
name: "medication_apixaban_is_defined_in_requirement"
|
|
11
|
+
requirement_types: ["medication"]
|
|
12
|
+
operators: ["models_match_any"]
|
|
13
|
+
medications: ["apixaban"]
|
|
14
|
+
|
|
15
|
+
- model: endoreg_db.requirement
|
|
16
|
+
fields:
|
|
17
|
+
name: "indication_non_valvular_af_apixaban_is_defined_in_requirement"
|
|
18
|
+
requirement_types: ["medication_indication"]
|
|
19
|
+
operators: ["models_match_any"]
|
|
20
|
+
medication_indications: ["te_prevention-non_valvular_af-apixaban"]
|
|
21
|
+
|
|
22
|
+
# medication indication te_prevention-after_hip-apixaban
|
|
23
|
+
- model: endoreg_db.requirement
|
|
24
|
+
fields:
|
|
25
|
+
name: "indication_after_hip_apixaban_is_defined_in_requirement"
|
|
26
|
+
requirement_types: ["medication_indication"]
|
|
27
|
+
operators: ["models_match_any"]
|
|
28
|
+
medication_indications: ["te_prevention-after_hip-apixaban"]
|
|
29
|
+
|
|
30
|
+
# te_prevention-after_knee-apixaban
|
|
31
|
+
- model: endoreg_db.requirement
|
|
32
|
+
fields:
|
|
33
|
+
name: "indication_after_knee_apixaban_is_defined_in_requirement"
|
|
34
|
+
requirement_types: ["medication_indication"]
|
|
35
|
+
operators: ["models_match_any"]
|
|
36
|
+
medication_indications: ["te_prevention-after_knee-apixaban"]
|
|
37
|
+
|
|
38
|
+
# te_prevention-non_valvular_af-apixaban
|
|
39
|
+
- model: endoreg_db.requirement
|
|
40
|
+
fields:
|
|
41
|
+
name: "intake_time_daily_morning_for_non_valvular_af_apixaban_is_defined_in_requirement"
|
|
42
|
+
requirement_types: ["medication_intake_time"]
|
|
43
|
+
operators: ["models_match_any"]
|
|
44
|
+
medication_intake_times: ["daily-morning"]
|
|
45
|
+
|
|
46
|
+
- model: endoreg_db.requirement
|
|
47
|
+
fields:
|
|
48
|
+
name: "intake_time_daily_morning_is_defined_in_requirement"
|
|
49
|
+
requirement_types: ["medication_intake_time"]
|
|
50
|
+
operators: ["models_match_any"]
|
|
51
|
+
medication_intake_times: ["daily-morning"]
|
|
52
|
+
|
|
53
|
+
- model: endoreg_db.requirement
|
|
54
|
+
fields:
|
|
55
|
+
name: "schedule_apixaban_5mg_bid_is_defined_in_requirement"
|
|
56
|
+
requirement_types: ["medication_schedule"]
|
|
57
|
+
operators: ["models_match_any"]
|
|
58
|
+
medication_schedules: ["apixaban-5mg-twice_daily"]
|
|
59
|
+
|
|
60
|
+
- model: endoreg_db.requirement
|
|
61
|
+
fields:
|
|
62
|
+
name: "patient_has_medication_aspirin"
|
|
63
|
+
requirement_types: ["patient", "patient_medication", "patient_medication_schedule"]
|
|
64
|
+
operators: ["models_match_any"]
|
|
65
|
+
medications: ["aspirin"] # Checks against PatientMedication.medication
|
|
66
|
+
|
|
67
|
+
- model: endoreg_db.requirement
|
|
68
|
+
fields:
|
|
69
|
+
name: "patient_has_medication_apixaban_for_non_valvular_af"
|
|
70
|
+
requirement_types: ["patient", "patient_medication", "patient_medication_schedule"]
|
|
71
|
+
operators: ["models_match_any"]
|
|
72
|
+
medications: ["apixaban"]
|
|
73
|
+
medication_indications: ["te_prevention-non_valvular_af-apixaban"] # Checks against PatientMedication.medication_indication
|
|
74
|
+
|
|
75
|
+
- model: endoreg_db.requirement
|
|
76
|
+
fields:
|
|
77
|
+
name: "patient_medication_intake_includes_daily_morning"
|
|
78
|
+
requirement_types: [
|
|
79
|
+
"patient",
|
|
80
|
+
"patient_medication",
|
|
81
|
+
"patient_medication_schedule" # Added
|
|
82
|
+
]
|
|
83
|
+
operators: ["models_match_any"]
|
|
84
|
+
# This requirement implies that the operator will look into the
|
|
85
|
+
# PatientMedication.intake_times M2M field.
|
|
86
|
+
medication_intake_times: ["daily-morning"]
|
|
87
|
+
|
|
88
|
+
- model: endoreg_db.requirement
|
|
89
|
+
fields:
|
|
90
|
+
name: "patient_schedule_contains_apixaban_5mg_bid_profile"
|
|
91
|
+
requirement_types: ["patient", "patient_medication_schedule"]
|
|
92
|
+
operators: ["patient_medication_schedule_matches_template"] # Changed operator
|
|
93
|
+
medication_schedules: ["apixaban-5mg-twice_daily"]
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
- model: endoreg_db.requirement_operator
|
|
2
|
+
fields:
|
|
3
|
+
name: "age_gte"
|
|
4
|
+
name_de: "Alter >="
|
|
5
|
+
name_en: "Age >="
|
|
6
|
+
description: "Make sure that the provided age is greater than or equal to the given value. The value is defined using the numeric_value_min field."
|
|
7
|
+
|
|
8
|
+
- model: endoreg_db.requirement_operator
|
|
9
|
+
fields:
|
|
10
|
+
name: "age_lte"
|
|
11
|
+
name_de: "Alter <="
|
|
12
|
+
name_en: "Age <="
|
|
13
|
+
description: "Make sure that the provided age is less than or equal to the given value. The value is defined using the numeric_value_max field."
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
- model: endoreg_db.requirement_operator
|
|
2
|
+
fields:
|
|
3
|
+
name: "lab_latest_numeric_normal"
|
|
4
|
+
name_de: "Laborwert normal"
|
|
5
|
+
name_en: "Lab value normal"
|
|
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
|
+
|
|
8
|
+
# lab_numeric_increased
|
|
9
|
+
- model: endoreg_db.requirement_operator
|
|
10
|
+
fields:
|
|
11
|
+
name: "lab_latest_numeric_increased"
|
|
12
|
+
name_de: "Laborwert erhöht"
|
|
13
|
+
name_en: "Lab value increased"
|
|
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
|
+
|
|
16
|
+
- model: endoreg_db.requirement_operator
|
|
17
|
+
fields:
|
|
18
|
+
name: "lab_latest_numeric_decreased"
|
|
19
|
+
name_de: "Laborwert verringert"
|
|
20
|
+
name_en: "Lab value decreased"
|
|
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
|
+
|
|
23
|
+
- model: endoreg_db.requirement_operator
|
|
24
|
+
fields:
|
|
25
|
+
name: "lab_latest_numeric_decreased_factor"
|
|
26
|
+
name_de: "Laborwert um Faktor verringert"
|
|
27
|
+
name_en: "Lab value decreased by factor"
|
|
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
|
+
|
|
30
|
+
- model: endoreg_db.requirement_operator
|
|
31
|
+
fields:
|
|
32
|
+
name: "lab_latest_numeric_increased_factor"
|
|
33
|
+
name_de: "Laborwert um Faktor erhöht"
|
|
34
|
+
name_en: "Lab value increased by factor"
|
|
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
|
+
|
|
37
|
+
- model: endoreg_db.requirement_operator
|
|
38
|
+
fields:
|
|
39
|
+
name: "lab_latest_numeric_lower_than_value"
|
|
40
|
+
name_de: "Laborwert kleiner als Wert"
|
|
41
|
+
name_en: "Lab value lower than value"
|
|
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
|
+
|
|
44
|
+
- model: endoreg_db.requirement_operator
|
|
45
|
+
fields:
|
|
46
|
+
name: "lab_latest_numeric_greater_than_value"
|
|
47
|
+
name_de: "Laborwert größer als Wert"
|
|
48
|
+
name_en: "Lab value greater than value"
|
|
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
|
+
|
|
51
|
+
# Timeframe
|
|
52
|
+
- model: endoreg_db.requirement_operator
|
|
53
|
+
fields:
|
|
54
|
+
name: "lab_latest_numeric_normal_in_timeframe"
|
|
55
|
+
name_de: "Laborwert normal im angegebenen Zeitraum"
|
|
56
|
+
name_en: "Lab value normal in the given timeframe"
|
|
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
|
+
|
|
59
|
+
- model: endoreg_db.requirement_operator
|
|
60
|
+
fields:
|
|
61
|
+
name: "lab_latest_numeric_decreased_factor_in_timeframe"
|
|
62
|
+
name_de: "Laborwert um Faktor verringert im angegebenen Zeitraum"
|
|
63
|
+
name_en: "Lab value decreased by factor in the given timeframe"
|
|
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
|
+
|
|
66
|
+
- model: endoreg_db.requirement_operator
|
|
67
|
+
fields:
|
|
68
|
+
name: "lab_latest_numeric_increased_factor_in_timeframe"
|
|
69
|
+
name_de: "Laborwert um Faktor erhöht im angegebenen Zeitraum"
|
|
70
|
+
name_en: "Lab value increased by factor in the given timeframe"
|
|
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
|
+
|
|
73
|
+
- model: endoreg_db.requirement_operator
|
|
74
|
+
fields:
|
|
75
|
+
name: "lab_latest_numeric_lower_than_value_in_timeframe"
|
|
76
|
+
name_de: "Laborwert kleiner als Wert im angegebenen Zeitraum"
|
|
77
|
+
name_en: "Lab value lower than value in the given timeframe"
|
|
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
|
+
|
|
80
|
+
- model: endoreg_db.requirement_operator
|
|
81
|
+
fields:
|
|
82
|
+
name: "lab_latest_numeric_greater_than_value_in_timeframe"
|
|
83
|
+
name_de: "Laborwert größer als Wert im angegebenen Zeitraum"
|
|
84
|
+
name_en: "Lab value greater than value in the given timeframe"
|
|
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
|
+
|
|
87
|
+
- model: endoreg_db.requirement_operator
|
|
88
|
+
fields:
|
|
89
|
+
name: "lab_latest_categorical_match"
|
|
90
|
+
name_de: "Text-basierter Laborwert entspricht exakt"
|
|
91
|
+
name_en: "Text-based lab value matches exactly"
|
|
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
|
+
|
|
94
|
+
- model: endoreg_db.requirement_operator
|
|
95
|
+
fields:
|
|
96
|
+
name: "lab_latest_categorical_match_substring"
|
|
97
|
+
name_de: "Text-basierter Laborwert enthält Teilstring"
|
|
98
|
+
name_en: "Text-based lab value contains substring"
|
|
99
|
+
description: "Make sure that the provided categorical lab value contains the given substring. The substring is defined using the string_value field."
|
|
100
|
+
|
|
101
|
+
- model: endoreg_db.requirement_operator
|
|
102
|
+
fields:
|
|
103
|
+
name: "lab_latest_categorical_match_regex"
|
|
104
|
+
name_de: "Text-basierter Laborwert entspricht Regex"
|
|
105
|
+
name_en: "Text-based lab value matches regex"
|
|
106
|
+
description: "Make sure that the provided categorical lab value matches the given regex. The regex is defined using the string_value field."
|
|
107
|
+
|
|
108
|
+
# Timeframe
|
|
109
|
+
- model: endoreg_db.requirement_operator
|
|
110
|
+
fields:
|
|
111
|
+
name: "lab_latest_categorical_match_in_timeframe"
|
|
112
|
+
name_de: "Text-basierter Laborwert entspricht exakt im angegebenen Zeitraum"
|
|
113
|
+
name_en: "Text-based lab value matches exactly in the given timeframe"
|
|
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
|
+
|
|
116
|
+
- model: endoreg_db.requirement_operator
|
|
117
|
+
fields:
|
|
118
|
+
name: "lab_latest_categorical_match_substring_in_timeframe"
|
|
119
|
+
name_de: "Text-basierter Laborwert enthält Teilstring im angegebenen Zeitraum"
|
|
120
|
+
name_en: "Text-based lab value contains substring in the given timeframe"
|
|
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
|
+
|
|
123
|
+
- model: endoreg_db.requirement_operator
|
|
124
|
+
fields:
|
|
125
|
+
name: "lab_latest_categorical_match_regex_in_timeframe"
|
|
126
|
+
name_de: "Text-basierter Laborwert entspricht Regex im angegebenen Zeitraum"
|
|
127
|
+
name_en: "Text-based lab value matches regex in the given timeframe"
|
|
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
|
+
|