endoreg-db 0.6.0__py3-none-any.whl → 0.6.2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of endoreg-db might be problematic. Click here for more details.
- endoreg_db/case_generator/__init__.py +0 -0
- endoreg_db/case_generator/case_generator.py +159 -0
- endoreg_db/case_generator/lab_sample_factory.py +33 -0
- endoreg_db/case_generator/utils.py +30 -0
- endoreg_db/data/__init__.py +118 -0
- endoreg_db/data/agl_service/data.yaml +19 -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-set/data.yaml +21 -0
- endoreg_db/data/ai_model_label/label-type/data.yaml +7 -0
- endoreg_db/data/ai_model_meta/default_multilabel_classification.yaml +5 -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 +90 -0
- endoreg_db/data/center_resource/green_endoscopy_dashboard_CenterResource.yaml +144 -0
- endoreg_db/data/center_waste/green_endoscopy_dashboard_CenterWaste.yaml +48 -0
- endoreg_db/data/contraindication/bleeding.yaml +11 -0
- endoreg_db/data/disease/cardiovascular.yaml +37 -0
- endoreg_db/data/disease/hepatology.yaml +5 -0
- endoreg_db/data/disease/misc.yaml +6 -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 +47 -0
- endoreg_db/data/event/cardiology.yaml +28 -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/examination/examinations/data.yaml +66 -0
- endoreg_db/data/examination/time/data.yaml +48 -0
- endoreg_db/data/examination/time-type/data.yaml +8 -0
- endoreg_db/data/examination/type/data.yaml +5 -0
- endoreg_db/data/examination_indication/endoscopy.yaml +8 -0
- endoreg_db/data/examination_indication_classification/endoscopy.yaml +8 -0
- endoreg_db/data/examination_indication_classification_choice/endoscopy.yaml +101 -0
- endoreg_db/data/finding/data.yaml +141 -0
- endoreg_db/data/finding_intervention/endoscopy.yaml +138 -0
- endoreg_db/data/finding_intervention_type/endoscopy.yaml +15 -0
- endoreg_db/data/finding_location_classification/colonoscopy.yaml +46 -0
- endoreg_db/data/finding_location_classification_choice/colonoscopy.yaml +240 -0
- endoreg_db/data/finding_morphology_classification/colonoscopy.yaml +48 -0
- endoreg_db/data/finding_morphology_classification_choice/colon_lesion_circularity_default.yaml +34 -0
- endoreg_db/data/finding_morphology_classification_choice/colon_lesion_nice.yaml +20 -0
- endoreg_db/data/finding_morphology_classification_choice/colon_lesion_paris.yaml +65 -0
- endoreg_db/data/finding_morphology_classification_choice/colon_lesion_planarity_default.yaml +56 -0
- endoreg_db/data/finding_morphology_classification_choice/colon_lesion_surface_intact_default.yaml +39 -0
- endoreg_db/data/finding_morphology_classification_choice/colonoscopy_size.yaml +57 -0
- endoreg_db/data/finding_morphology_classification_type/colonoscopy.yaml +79 -0
- endoreg_db/data/finding_type/data.yaml +30 -0
- endoreg_db/data/gender/data.yaml +35 -0
- endoreg_db/data/information_source/data.yaml +30 -0
- endoreg_db/data/information_source/medication.yaml +6 -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 +33 -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 +51 -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 +29 -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/reference_product/green_endoscopy_dashboard_ReferenceProduct.yaml +55 -0
- endoreg_db/data/report_reader_flag/ukw-examination-generic.yaml +30 -0
- endoreg_db/data/report_reader_flag/ukw-histology-generic.yaml +19 -0
- endoreg_db/data/resource/green_endoscopy_dashboard_Resource.yaml +15 -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 +92 -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 +13 -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/forms/__init__.py +5 -0
- endoreg_db/forms/examination_form.py +11 -0
- endoreg_db/forms/patient_finding_intervention_form.py +19 -0
- endoreg_db/forms/patient_form.py +26 -0
- endoreg_db/forms/questionnaires/__init__.py +1 -0
- endoreg_db/forms/questionnaires/tto_questionnaire.py +23 -0
- endoreg_db/forms/settings/__init__.py +8 -0
- endoreg_db/forms/unit.py +6 -0
- endoreg_db/management/__init__.py +0 -0
- endoreg_db/management/commands/__init__.py +0 -0
- endoreg_db/management/commands/_load_model_template.py +41 -0
- endoreg_db/management/commands/delete_all.py +18 -0
- endoreg_db/management/commands/fetch_legacy_image_dataset.py +32 -0
- endoreg_db/management/commands/fix_auth_permission.py +20 -0
- endoreg_db/management/commands/load_active_model_data.py +45 -0
- endoreg_db/management/commands/load_ai_model_data.py +79 -0
- endoreg_db/management/commands/load_ai_model_label_data.py +59 -0
- endoreg_db/management/commands/load_base_db_data.py +178 -0
- endoreg_db/management/commands/load_center_data.py +43 -0
- endoreg_db/management/commands/load_contraindication_data.py +41 -0
- endoreg_db/management/commands/load_disease_classification_choices_data.py +41 -0
- endoreg_db/management/commands/load_disease_classification_data.py +41 -0
- endoreg_db/management/commands/load_disease_data.py +62 -0
- endoreg_db/management/commands/load_distribution_data.py +66 -0
- endoreg_db/management/commands/load_endoscope_data.py +68 -0
- endoreg_db/management/commands/load_event_data.py +41 -0
- endoreg_db/management/commands/load_examination_data.py +75 -0
- endoreg_db/management/commands/load_examination_indication_data.py +65 -0
- endoreg_db/management/commands/load_finding_data.py +171 -0
- endoreg_db/management/commands/load_g_play_data.py +113 -0
- endoreg_db/management/commands/load_gender_data.py +44 -0
- endoreg_db/management/commands/load_green_endoscopy_wuerzburg_data.py +133 -0
- endoreg_db/management/commands/load_information_source.py +45 -0
- endoreg_db/management/commands/load_lab_value_data.py +50 -0
- endoreg_db/management/commands/load_logging_data.py +39 -0
- endoreg_db/management/commands/load_lx_data.py +64 -0
- endoreg_db/management/commands/load_medication_data.py +103 -0
- endoreg_db/management/commands/load_medication_indication_data.py +63 -0
- endoreg_db/management/commands/load_medication_indication_type_data.py +41 -0
- endoreg_db/management/commands/load_medication_intake_time_data.py +41 -0
- endoreg_db/management/commands/load_medication_schedule_data.py +55 -0
- endoreg_db/management/commands/load_name_data.py +37 -0
- endoreg_db/management/commands/load_network_data.py +57 -0
- endoreg_db/management/commands/load_organ_data.py +43 -0
- endoreg_db/management/commands/load_pdf_type_data.py +61 -0
- endoreg_db/management/commands/load_profession_data.py +44 -0
- endoreg_db/management/commands/load_report_reader_flag_data.py +46 -0
- endoreg_db/management/commands/load_unit_data.py +46 -0
- endoreg_db/management/commands/load_user_groups.py +28 -0
- endoreg_db/management/commands/register_ai_model.py +64 -0
- endoreg_db/management/commands/reset_celery_schedule.py +9 -0
- endoreg_db/migrations/0001_initial.py +2045 -0
- endoreg_db/migrations/0002_alter_frame_image_alter_rawframe_image.py +23 -0
- endoreg_db/migrations/0003_alter_frame_image_alter_rawframe_image.py +23 -0
- endoreg_db/migrations/0004_alter_rawvideofile_file_alter_video_file.py +25 -0
- endoreg_db/migrations/0005_rawvideofile_frame_count_and_more.py +33 -0
- endoreg_db/migrations/0006_frame_extracted_rawframe_extracted.py +23 -0
- endoreg_db/migrations/0007_rename_pseudo_patient_video_patient_and_more.py +24 -0
- endoreg_db/migrations/0008_remove_reportfile_patient_examination_and_more.py +48 -0
- endoreg_db/migrations/__init__.py +0 -0
- endoreg_db/models/__init__.py +376 -0
- endoreg_db/models/ai_model/__init__.py +4 -0
- endoreg_db/models/ai_model/active_model.py +9 -0
- endoreg_db/models/ai_model/ai_model.py +103 -0
- endoreg_db/models/ai_model/lightning/__init__.py +3 -0
- endoreg_db/models/ai_model/lightning/inference_dataset.py +53 -0
- endoreg_db/models/ai_model/lightning/multilabel_classification_net.py +155 -0
- endoreg_db/models/ai_model/lightning/postprocess.py +53 -0
- endoreg_db/models/ai_model/lightning/predict.py +172 -0
- endoreg_db/models/ai_model/lightning/prediction_visualizer.py +55 -0
- endoreg_db/models/ai_model/lightning/preprocess.py +68 -0
- endoreg_db/models/ai_model/lightning/run_visualizer.py +21 -0
- endoreg_db/models/ai_model/model_meta.py +250 -0
- endoreg_db/models/ai_model/model_type.py +36 -0
- endoreg_db/models/ai_model/utils.py +8 -0
- endoreg_db/models/annotation/__init__.py +32 -0
- endoreg_db/models/annotation/anonymized_image_annotation.py +115 -0
- endoreg_db/models/annotation/binary_classification_annotation_task.py +117 -0
- endoreg_db/models/annotation/image_classification.py +86 -0
- endoreg_db/models/annotation/video_segmentation_annotation.py +52 -0
- endoreg_db/models/annotation/video_segmentation_labelset.py +20 -0
- endoreg_db/models/case/__init__.py +1 -0
- endoreg_db/models/case/case.py +34 -0
- endoreg_db/models/case_template/__init__.py +15 -0
- endoreg_db/models/case_template/case_template.py +125 -0
- endoreg_db/models/case_template/case_template_rule.py +276 -0
- endoreg_db/models/case_template/case_template_rule_value.py +88 -0
- endoreg_db/models/case_template/case_template_type.py +28 -0
- endoreg_db/models/center/__init__.py +11 -0
- endoreg_db/models/center/center.py +51 -0
- endoreg_db/models/center/center_product.py +33 -0
- endoreg_db/models/center/center_resource.py +33 -0
- endoreg_db/models/center/center_waste.py +16 -0
- endoreg_db/models/contraindication/__init__.py +21 -0
- endoreg_db/models/data_file/__init__.py +39 -0
- endoreg_db/models/data_file/base_classes/__init__.py +7 -0
- endoreg_db/models/data_file/base_classes/abstract_frame.py +100 -0
- endoreg_db/models/data_file/base_classes/abstract_pdf.py +136 -0
- endoreg_db/models/data_file/base_classes/abstract_video.py +807 -0
- endoreg_db/models/data_file/base_classes/frame_helpers.py +17 -0
- endoreg_db/models/data_file/base_classes/prepare_bulk_frames.py +19 -0
- endoreg_db/models/data_file/base_classes/utils.py +80 -0
- endoreg_db/models/data_file/frame.py +29 -0
- endoreg_db/models/data_file/import_classes/__init__.py +18 -0
- endoreg_db/models/data_file/import_classes/processing_functions/__init__.py +35 -0
- endoreg_db/models/data_file/import_classes/processing_functions/pdf.py +28 -0
- endoreg_db/models/data_file/import_classes/processing_functions/video.py +260 -0
- endoreg_db/models/data_file/import_classes/raw_pdf.py +260 -0
- endoreg_db/models/data_file/import_classes/raw_video.py +288 -0
- endoreg_db/models/data_file/metadata/__init__.py +13 -0
- endoreg_db/models/data_file/metadata/pdf_meta.py +74 -0
- endoreg_db/models/data_file/metadata/sensitive_meta.py +290 -0
- endoreg_db/models/data_file/metadata/video_meta.py +199 -0
- endoreg_db/models/data_file/report_file.py +56 -0
- endoreg_db/models/data_file/video/__init__.py +11 -0
- endoreg_db/models/data_file/video/import_meta.py +25 -0
- endoreg_db/models/data_file/video/video.py +196 -0
- endoreg_db/models/data_file/video_segment.py +214 -0
- endoreg_db/models/disease.py +79 -0
- endoreg_db/models/emission/__init__.py +5 -0
- endoreg_db/models/emission/emission_factor.py +85 -0
- endoreg_db/models/event.py +73 -0
- endoreg_db/models/examination/__init__.py +9 -0
- endoreg_db/models/examination/examination.py +67 -0
- endoreg_db/models/examination/examination_indication.py +170 -0
- endoreg_db/models/examination/examination_time.py +53 -0
- endoreg_db/models/examination/examination_time_type.py +48 -0
- endoreg_db/models/examination/examination_type.py +40 -0
- endoreg_db/models/finding/__init__.py +11 -0
- endoreg_db/models/finding/finding.py +75 -0
- endoreg_db/models/finding/finding_intervention.py +60 -0
- endoreg_db/models/finding/finding_location_classification.py +94 -0
- endoreg_db/models/finding/finding_morphology_classification.py +89 -0
- endoreg_db/models/finding/finding_type.py +22 -0
- endoreg_db/models/hardware/__init__.py +2 -0
- endoreg_db/models/hardware/endoscope.py +60 -0
- endoreg_db/models/hardware/endoscopy_processor.py +155 -0
- endoreg_db/models/information_source.py +29 -0
- endoreg_db/models/label/__init__.py +1 -0
- endoreg_db/models/label/label.py +112 -0
- endoreg_db/models/laboratory/__init__.py +1 -0
- endoreg_db/models/laboratory/lab_value.py +111 -0
- endoreg_db/models/logging/__init__.py +11 -0
- endoreg_db/models/logging/agl_service.py +19 -0
- endoreg_db/models/logging/base.py +22 -0
- endoreg_db/models/logging/log_type.py +23 -0
- endoreg_db/models/logging/network_device.py +27 -0
- endoreg_db/models/lx/__init__.py +4 -0
- endoreg_db/models/lx/client.py +57 -0
- endoreg_db/models/lx/identity.py +34 -0
- endoreg_db/models/lx/permission.py +18 -0
- endoreg_db/models/lx/user.py +16 -0
- endoreg_db/models/medication/__init__.py +19 -0
- endoreg_db/models/medication/medication.py +33 -0
- endoreg_db/models/medication/medication_indication.py +50 -0
- endoreg_db/models/medication/medication_indication_type.py +34 -0
- endoreg_db/models/medication/medication_intake_time.py +26 -0
- endoreg_db/models/medication/medication_schedule.py +37 -0
- endoreg_db/models/network/__init__.py +9 -0
- endoreg_db/models/network/agl_service.py +38 -0
- endoreg_db/models/network/network_device.py +58 -0
- endoreg_db/models/network/network_device_type.py +23 -0
- endoreg_db/models/organ/__init__.py +38 -0
- endoreg_db/models/other/__init__.py +23 -0
- endoreg_db/models/other/distribution/__init__.py +44 -0
- endoreg_db/models/other/distribution/base_value_distribution.py +20 -0
- endoreg_db/models/other/distribution/date_value_distribution.py +91 -0
- endoreg_db/models/other/distribution/multiple_categorical_value_distribution.py +32 -0
- endoreg_db/models/other/distribution/numeric_value_distribution.py +97 -0
- endoreg_db/models/other/distribution/single_categorical_value_distribution.py +22 -0
- endoreg_db/models/other/distribution.py +5 -0
- endoreg_db/models/other/material.py +20 -0
- endoreg_db/models/other/resource.py +18 -0
- endoreg_db/models/other/transport_route.py +22 -0
- endoreg_db/models/other/waste.py +20 -0
- endoreg_db/models/patient/__init__.py +24 -0
- endoreg_db/models/patient/patient_examination.py +182 -0
- endoreg_db/models/patient/patient_finding.py +143 -0
- endoreg_db/models/patient/patient_finding_intervention.py +26 -0
- endoreg_db/models/patient/patient_finding_location.py +120 -0
- endoreg_db/models/patient/patient_finding_morphology.py +166 -0
- endoreg_db/models/permissions/__init__.py +44 -0
- endoreg_db/models/persons/__init__.py +34 -0
- endoreg_db/models/persons/examiner/__init__.py +2 -0
- endoreg_db/models/persons/examiner/examiner.py +60 -0
- endoreg_db/models/persons/examiner/examiner_type.py +2 -0
- endoreg_db/models/persons/first_name.py +18 -0
- endoreg_db/models/persons/gender.py +22 -0
- endoreg_db/models/persons/last_name.py +20 -0
- endoreg_db/models/persons/patient/__init__.py +8 -0
- endoreg_db/models/persons/patient/patient.py +389 -0
- endoreg_db/models/persons/patient/patient_disease.py +22 -0
- endoreg_db/models/persons/patient/patient_event.py +52 -0
- endoreg_db/models/persons/patient/patient_examination_indication.py +32 -0
- endoreg_db/models/persons/patient/patient_lab_sample.py +108 -0
- endoreg_db/models/persons/patient/patient_lab_value.py +197 -0
- endoreg_db/models/persons/patient/patient_medication.py +59 -0
- endoreg_db/models/persons/patient/patient_medication_schedule.py +88 -0
- endoreg_db/models/persons/person.py +31 -0
- endoreg_db/models/persons/portal_user_information.py +27 -0
- endoreg_db/models/prediction/__init__.py +8 -0
- endoreg_db/models/prediction/image_classification.py +51 -0
- endoreg_db/models/prediction/video_prediction_meta.py +306 -0
- endoreg_db/models/product/__init__.py +14 -0
- endoreg_db/models/product/product.py +110 -0
- endoreg_db/models/product/product_group.py +27 -0
- endoreg_db/models/product/product_material.py +28 -0
- endoreg_db/models/product/product_weight.py +38 -0
- endoreg_db/models/product/reference_product.py +115 -0
- endoreg_db/models/questionnaires/__init__.py +114 -0
- endoreg_db/models/quiz/__init__.py +9 -0
- endoreg_db/models/quiz/quiz_answer.py +41 -0
- endoreg_db/models/quiz/quiz_question.py +54 -0
- endoreg_db/models/report_reader/__init__.py +7 -0
- endoreg_db/models/report_reader/report_reader_config.py +53 -0
- endoreg_db/models/report_reader/report_reader_flag.py +20 -0
- endoreg_db/models/rules/__init__.py +5 -0
- endoreg_db/models/rules/rule.py +24 -0
- endoreg_db/models/rules/rule_applicator.py +224 -0
- endoreg_db/models/rules/rule_attribute_dtype.py +19 -0
- endoreg_db/models/rules/rule_type.py +22 -0
- endoreg_db/models/rules/ruleset.py +19 -0
- endoreg_db/models/unit.py +22 -0
- endoreg_db/queries/__init__.py +5 -0
- endoreg_db/queries/annotations/__init__.py +3 -0
- endoreg_db/queries/annotations/legacy.py +158 -0
- endoreg_db/queries/get/__init__.py +6 -0
- endoreg_db/queries/get/annotation.py +0 -0
- endoreg_db/queries/get/center.py +42 -0
- endoreg_db/queries/get/model.py +13 -0
- endoreg_db/queries/get/patient.py +14 -0
- endoreg_db/queries/get/patient_examination.py +20 -0
- endoreg_db/queries/get/prediction.py +0 -0
- endoreg_db/queries/get/report_file.py +33 -0
- endoreg_db/queries/get/video.py +31 -0
- endoreg_db/queries/get/video_import_meta.py +0 -0
- endoreg_db/queries/get/video_prediction_meta.py +0 -0
- endoreg_db/queries/sanity/__init_.py +0 -0
- endoreg_db/serializers/__init__.py +10 -0
- endoreg_db/serializers/ai_model.py +19 -0
- endoreg_db/serializers/annotation.py +14 -0
- endoreg_db/serializers/center.py +11 -0
- endoreg_db/serializers/examination.py +33 -0
- endoreg_db/serializers/frame.py +9 -0
- endoreg_db/serializers/hardware.py +21 -0
- endoreg_db/serializers/label.py +22 -0
- endoreg_db/serializers/patient.py +33 -0
- endoreg_db/serializers/prediction.py +10 -0
- endoreg_db/serializers/raw_video_meta_validation.py +13 -0
- endoreg_db/serializers/report_file.py +7 -0
- endoreg_db/serializers/video.py +20 -0
- endoreg_db/serializers/video_segmentation.py +492 -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/utils/__init__.py +36 -0
- endoreg_db/utils/cropping.py +29 -0
- endoreg_db/utils/dataloader.py +118 -0
- endoreg_db/utils/dates.py +39 -0
- endoreg_db/utils/file_operations.py +30 -0
- endoreg_db/utils/hashs.py +152 -0
- endoreg_db/utils/legacy_ocr.py +201 -0
- endoreg_db/utils/names.py +74 -0
- endoreg_db/utils/ocr.py +190 -0
- endoreg_db/utils/parse_and_generate_yaml.py +46 -0
- endoreg_db/utils/pydantic_models/__init__.py +6 -0
- endoreg_db/utils/pydantic_models/db_config.py +57 -0
- endoreg_db/utils/uuid.py +4 -0
- endoreg_db/utils/validate_endo_roi.py +19 -0
- endoreg_db/utils/validate_subcategory_dict.py +91 -0
- endoreg_db/utils/video/__init__.py +13 -0
- endoreg_db/utils/video/extract_frames.py +121 -0
- endoreg_db/utils/video/transcode_videofile.py +111 -0
- endoreg_db/views/__init__.py +2 -0
- endoreg_db/views/csrf.py +7 -0
- endoreg_db/views/patient_views.py +90 -0
- endoreg_db/views/raw_video_meta_validation_views.py +38 -0
- endoreg_db/views/report_views.py +96 -0
- endoreg_db/views/video_segmentation_views.py +149 -0
- endoreg_db/views/views_for_timeline.py +46 -0
- {endoreg_db-0.6.0.dist-info → endoreg_db-0.6.2.dist-info}/METADATA +14 -4
- endoreg_db-0.6.2.dist-info/RECORD +420 -0
- {endoreg_db-0.6.0.dist-info → endoreg_db-0.6.2.dist-info}/WHEEL +1 -2
- endoreg_db-0.6.0.dist-info/RECORD +0 -11
- endoreg_db-0.6.0.dist-info/top_level.txt +0 -1
- {endoreg_db-0.6.0.dist-info → endoreg_db-0.6.2.dist-info/licenses}/LICENSE +0 -0
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
from django.conf import settings
|
|
2
|
+
from django.core.management.base import BaseCommand
|
|
3
|
+
from ...models import Label, LabelType, LabelSet
|
|
4
|
+
import os
|
|
5
|
+
from ...utils import load_model_data_from_yaml
|
|
6
|
+
from ...data import LABEL_DATA_DIR
|
|
7
|
+
|
|
8
|
+
SOURCE_DIR = LABEL_DATA_DIR
|
|
9
|
+
|
|
10
|
+
IMPORT_MODELS = [ # string as model key, serves as key in IMPORT_METADATA
|
|
11
|
+
"LabelType",
|
|
12
|
+
"Label",
|
|
13
|
+
"LabelSet",
|
|
14
|
+
]
|
|
15
|
+
|
|
16
|
+
IMPORT_METADATA = {
|
|
17
|
+
# "": { # same as model name in "import models", e.g. "Intervention"
|
|
18
|
+
# "subdir": os.path.join(SOURCE_DIR,""), # e.g. "interventions"
|
|
19
|
+
# "model": None, # e.g. Intervention
|
|
20
|
+
# "foreign_keys": [], # e.g. ["intervention_types"]
|
|
21
|
+
# "foreign_key_models": [] # e.g. [InterventionType]
|
|
22
|
+
# },
|
|
23
|
+
"LabelType": {
|
|
24
|
+
"dir": os.path.join(SOURCE_DIR, "label-type"), # e.g. "interventions"
|
|
25
|
+
"model": LabelType, # e.g. Intervention
|
|
26
|
+
"foreign_keys": [], # e.g. ["intervention_types"]
|
|
27
|
+
"foreign_key_models": [], # e.g. [InterventionType]
|
|
28
|
+
},
|
|
29
|
+
"Label": {
|
|
30
|
+
"dir": os.path.join(SOURCE_DIR, "label"), # e.g. "interventions"
|
|
31
|
+
"model": Label, # e.g. Intervention
|
|
32
|
+
"foreign_keys": ["label_type"], # e.g. ["intervention_types"]
|
|
33
|
+
"foreign_key_models": [LabelType], # e.g. [InterventionType]
|
|
34
|
+
},
|
|
35
|
+
"LabelSet": {
|
|
36
|
+
"dir": os.path.join(SOURCE_DIR, "label-set"), # e.g. "interventions"
|
|
37
|
+
"model": LabelSet, # e.g. Intervention
|
|
38
|
+
"foreign_keys": ["labels"], # e.g. ["intervention_types"]
|
|
39
|
+
"foreign_key_models": [Label], # e.g. [InterventionType]
|
|
40
|
+
},
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
class Command(BaseCommand):
|
|
45
|
+
help = """Load all .yaml files in the data/intervention directory
|
|
46
|
+
into the Intervention and InterventionType model"""
|
|
47
|
+
|
|
48
|
+
def add_arguments(self, parser):
|
|
49
|
+
parser.add_argument(
|
|
50
|
+
"--verbose",
|
|
51
|
+
action="store_true",
|
|
52
|
+
help="Display verbose output",
|
|
53
|
+
)
|
|
54
|
+
|
|
55
|
+
def handle(self, *args, **options):
|
|
56
|
+
verbose = options["verbose"]
|
|
57
|
+
for model_name in IMPORT_MODELS:
|
|
58
|
+
_metadata = IMPORT_METADATA[model_name]
|
|
59
|
+
load_model_data_from_yaml(self, model_name, _metadata, verbose)
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
from django.core.management import BaseCommand, call_command
|
|
2
|
+
from io import StringIO
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class Command(BaseCommand):
|
|
6
|
+
help = "Run all data loading commands in the correct order"
|
|
7
|
+
|
|
8
|
+
def add_arguments(self, parser):
|
|
9
|
+
parser.add_argument(
|
|
10
|
+
"--verbose",
|
|
11
|
+
action="store_true",
|
|
12
|
+
help="Display verbose output for all commands",
|
|
13
|
+
)
|
|
14
|
+
|
|
15
|
+
def handle(self, *args, **options):
|
|
16
|
+
# verbose = options['verbose']
|
|
17
|
+
verbose = True
|
|
18
|
+
|
|
19
|
+
self.stdout.write(self.style.SUCCESS("Populating base db models with data..."))
|
|
20
|
+
|
|
21
|
+
out = self.stdout
|
|
22
|
+
|
|
23
|
+
# Load Center Data
|
|
24
|
+
call_command("load_center_data", stdout=out, verbose=verbose)
|
|
25
|
+
call_command("load_endoscope_data", stdout=out, verbose=verbose)
|
|
26
|
+
call_command("load_distribution_data", stdout=out, verbose=verbose)
|
|
27
|
+
|
|
28
|
+
call_command("load_gender_data", stdout=out, verbose=verbose)
|
|
29
|
+
call_command("load_report_reader_flag_data", stdout=out, verbose=verbose)
|
|
30
|
+
call_command("load_pdf_type_data", stdout=out, verbose=verbose)
|
|
31
|
+
call_command("load_unit_data", stdout=out, verbose=verbose)
|
|
32
|
+
call_command("load_disease_data", stdout=out, verbose=verbose)
|
|
33
|
+
call_command("load_event_data", stdout=out, verbose=verbose)
|
|
34
|
+
call_command("load_organ_data", stdout=out, verbose=verbose)
|
|
35
|
+
call_command("load_contraindication_data", stdout=out, verbose=verbose)
|
|
36
|
+
call_command("load_examination_data", stdout=out, verbose=verbose)
|
|
37
|
+
call_command("load_examination_indication_data", stdout=out, verbose=verbose)
|
|
38
|
+
call_command("load_lab_value_data", stdout=out, verbose=verbose)
|
|
39
|
+
call_command("load_finding_data", stdout=out, verbose=verbose)
|
|
40
|
+
call_command("load_medication_data", stdout=out, verbose=verbose)
|
|
41
|
+
|
|
42
|
+
# Load AI Model Data
|
|
43
|
+
call_command("load_ai_model_label_data", stdout=out, verbose=verbose)
|
|
44
|
+
call_command("load_ai_model_data", stdout=out, verbose=verbose)
|
|
45
|
+
|
|
46
|
+
self.stdout.write(
|
|
47
|
+
self.style.SUCCESS( # pylint: disable=no-member
|
|
48
|
+
"All data loading commands executed successfully."
|
|
49
|
+
)
|
|
50
|
+
)
|
|
51
|
+
|
|
52
|
+
# # Run the load_network_data command
|
|
53
|
+
# self.stdout.write(self.style.SUCCESS("Running load_network_data..."))
|
|
54
|
+
# call_command('load_network_data', verbose=verbose)
|
|
55
|
+
# Run the load_network_data command
|
|
56
|
+
# self.stdout.write(self.style.SUCCESS("Running load_network_data..."))
|
|
57
|
+
# call_command("load_network_data", verbose=verbose)
|
|
58
|
+
|
|
59
|
+
# # Run the load_logging_data command
|
|
60
|
+
# self.stdout.write(self.style.SUCCESS("Running load_logging_data..."))
|
|
61
|
+
# call_command("load_logging_data", verbose=verbose)
|
|
62
|
+
|
|
63
|
+
# # Run the load_profession_data command
|
|
64
|
+
# self.stdout.write(self.style.SUCCESS("Running load_profession_data..."))
|
|
65
|
+
# call_command("load_profession_data", verbose=verbose)
|
|
66
|
+
|
|
67
|
+
# # run the load_gender_data command
|
|
68
|
+
# self.stdout.write(self.style.SUCCESS("Running load_gender_data..."))
|
|
69
|
+
# call_command("load_gender_data", verbose=verbose)
|
|
70
|
+
|
|
71
|
+
# # Run the load_examination_data command
|
|
72
|
+
# self.stdout.write(self.style.SUCCESS("Running load_examination_data..."))
|
|
73
|
+
# call_command("load_examination_data", verbose=verbose)
|
|
74
|
+
|
|
75
|
+
# # run the load_finding_data command
|
|
76
|
+
# self.stdout.write(self.style.SUCCESS("Running load_finding_data..."))
|
|
77
|
+
# call_command("load_finding_data", verbose=verbose)
|
|
78
|
+
|
|
79
|
+
# # Run the load_disease data command
|
|
80
|
+
# self.stdout.write(self.style.SUCCESS("Running load_disease_data..."))
|
|
81
|
+
# call_command("load_disease_data", verbose=verbose)
|
|
82
|
+
|
|
83
|
+
# # # Run the load_disease_classification data command
|
|
84
|
+
# # self.stdout.write(self.style.SUCCESS("Running load_disease_classification_data..."))
|
|
85
|
+
# # call_command('load_disease_classification_data', verbose=verbose)
|
|
86
|
+
|
|
87
|
+
# # # Run the load_disease_classification_choices data command
|
|
88
|
+
# # self.stdout.write(self.style.SUCCESS("Running load_disease_classification_choices_data..."))
|
|
89
|
+
# # call_command('load_disease_classification_choices_data', verbose=verbose)
|
|
90
|
+
|
|
91
|
+
# # rund the load_user_groups command
|
|
92
|
+
# self.stdout.write(self.style.SUCCESS("Running load_user_groups..."))
|
|
93
|
+
# call_command("load_user_groups", verbose=verbose)
|
|
94
|
+
|
|
95
|
+
# # run the load_report_reader_flag command
|
|
96
|
+
# self.stdout.write(self.style.SUCCESS("Running load_report_reader_flag..."))
|
|
97
|
+
# call_command("load_report_reader_flag", verbose=verbose)
|
|
98
|
+
|
|
99
|
+
# # Run the load_pdf_type_data command
|
|
100
|
+
# self.stdout.write(self.style.SUCCESS("Running load_pdf_type_data..."))
|
|
101
|
+
# call_command("load_pdf_type_data", verbose=verbose)
|
|
102
|
+
|
|
103
|
+
# # Run the load_endoscopy_processor_data command
|
|
104
|
+
# self.stdout.write(
|
|
105
|
+
# self.style.SUCCESS("Running load_endoscopy_processor_data...")
|
|
106
|
+
# )
|
|
107
|
+
# call_command("load_endoscopy_processor_data", verbose=verbose)
|
|
108
|
+
|
|
109
|
+
# # Run the load_endoscope_type_data command
|
|
110
|
+
# self.stdout.write(self.style.SUCCESS("Running load_endoscope_type_data..."))
|
|
111
|
+
# call_command("load_endoscope_type_data", verbose=verbose)
|
|
112
|
+
|
|
113
|
+
# # Run the load_unit_data command
|
|
114
|
+
# self.stdout.write(self.style.SUCCESS("Running load_unit_data..."))
|
|
115
|
+
# call_command("load_unit_data", verbose=verbose)
|
|
116
|
+
|
|
117
|
+
# # Run the load_lab_value_data command
|
|
118
|
+
# self.stdout.write(self.style.SUCCESS("Running load_lab_value_data..."))
|
|
119
|
+
# call_command("load_lab_value_data", verbose=verbose)
|
|
120
|
+
|
|
121
|
+
# # Run the load_information_source command
|
|
122
|
+
# self.stdout.write(self.style.SUCCESS("Running load_information_source..."))
|
|
123
|
+
# call_command("load_information_source", verbose=verbose)
|
|
124
|
+
|
|
125
|
+
# # Run the load_center_data command
|
|
126
|
+
# self.stdout.write(self.style.SUCCESS("Running load_center_data..."))
|
|
127
|
+
# call_command("load_center_data", verbose=verbose)
|
|
128
|
+
|
|
129
|
+
# # Run the load_label_data command
|
|
130
|
+
# self.stdout.write(self.style.SUCCESS("Running load_label_data..."))
|
|
131
|
+
# call_command("load_label_data", verbose=verbose)
|
|
132
|
+
|
|
133
|
+
# # Run the load_ai_model_data command
|
|
134
|
+
# self.stdout.write(self.style.SUCCESS("Running load_ai_model_data..."))
|
|
135
|
+
# call_command("load_ai_model_data", verbose=verbose)
|
|
136
|
+
|
|
137
|
+
# # Run the load_event_data command
|
|
138
|
+
# self.stdout.write(self.style.SUCCESS("Running load_event_data..."))
|
|
139
|
+
# call_command("load_event_data", verbose=verbose)
|
|
140
|
+
|
|
141
|
+
# # run the load_medication_data command
|
|
142
|
+
# self.stdout.write(self.style.SUCCESS("Running load_medication_data..."))
|
|
143
|
+
# call_command("load_medication_data", verbose=verbose)
|
|
144
|
+
|
|
145
|
+
# # # Run the load_medication_indication_type_data command
|
|
146
|
+
# # self.stdout.write(self.style.SUCCESS("Running load_medication_indication_type_data..."))
|
|
147
|
+
# # call_command('load_medication_indication_type_data', verbose=verbose)
|
|
148
|
+
|
|
149
|
+
# # # Run the load_medication_intake_time_data command
|
|
150
|
+
# # self.stdout.write(self.style.SUCCESS("Running load_medication_intake_time_data..."))
|
|
151
|
+
# # call_command('load_medication_intake_time_data', verbose=verbose)
|
|
152
|
+
|
|
153
|
+
# # # Run the load_medication_schedule_data command
|
|
154
|
+
# # self.stdout.write(self.style.SUCCESS("Running load_medication_schedule_data..."))
|
|
155
|
+
# # call_command('load_medication_schedule_data', verbose=verbose)
|
|
156
|
+
|
|
157
|
+
# # # Run the load_medication_indication_data command
|
|
158
|
+
# # self.stdout.write(self.style.SUCCESS("Running load_medication_indication_data..."))
|
|
159
|
+
# # call_command('load_medication_indication_data', verbose=verbose)
|
|
160
|
+
|
|
161
|
+
# # Run the load_green_endoscopy_wuerzburg_data command
|
|
162
|
+
# self.stdout.write(
|
|
163
|
+
# self.style.SUCCESS("Running load_green_endoscopy_wuerzburg_data...")
|
|
164
|
+
# )
|
|
165
|
+
# call_command("load_green_endoscopy_wuerzburg_data", verbose=verbose)
|
|
166
|
+
|
|
167
|
+
# # Load G-Play Data
|
|
168
|
+
# # run the load_distribution_data command
|
|
169
|
+
# self.stdout.write(self.style.SUCCESS("Running load_distribution_data..."))
|
|
170
|
+
# call_command("load_distribution_data", verbose=verbose)
|
|
171
|
+
# # Run the load_g_play_data command
|
|
172
|
+
# self.stdout.write(self.style.SUCCESS("Running load_g_play_data..."))
|
|
173
|
+
# call_command("load_g_play_data", verbose=verbose)
|
|
174
|
+
|
|
175
|
+
# # Necessary? Migrate? FIXME
|
|
176
|
+
# # # Run the load_active_model_data command
|
|
177
|
+
# # self.stdout.write(self.style.SUCCESS("Running load_active_model_data..."))
|
|
178
|
+
# # call_command('load_active_model_data', verbose=verbose)
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
from django.core.management.base import BaseCommand
|
|
2
|
+
from ...utils import load_model_data_from_yaml
|
|
3
|
+
from ...models import Center, FirstName, LastName
|
|
4
|
+
from ...data import CENTER_DATA_DIR
|
|
5
|
+
|
|
6
|
+
SOURCE_DIR = CENTER_DATA_DIR # e.g. settings.DATA_DIR_INTERVENTION
|
|
7
|
+
|
|
8
|
+
MODEL_0 = Center
|
|
9
|
+
|
|
10
|
+
IMPORT_MODELS = [ # string as model key, serves as key in IMPORT_METADATA
|
|
11
|
+
MODEL_0.__name__,
|
|
12
|
+
]
|
|
13
|
+
|
|
14
|
+
IMPORT_METADATA = {
|
|
15
|
+
MODEL_0.__name__: {
|
|
16
|
+
"dir": SOURCE_DIR, # e.g. "interventions"
|
|
17
|
+
"model": MODEL_0, # e.g. Intervention
|
|
18
|
+
"foreign_keys": ["first_names", "last_names"], # e.g. ["intervention_types"]
|
|
19
|
+
"foreign_key_models": [FirstName, LastName] # e.g. [InterventionType]
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
class Command(BaseCommand):
|
|
24
|
+
help = """Load all .yaml files in the data/intervention directory
|
|
25
|
+
into the Intervention and InterventionType model"""
|
|
26
|
+
|
|
27
|
+
def add_arguments(self, parser):
|
|
28
|
+
parser.add_argument(
|
|
29
|
+
'--verbose',
|
|
30
|
+
action='store_true',
|
|
31
|
+
help='Display verbose output',
|
|
32
|
+
)
|
|
33
|
+
|
|
34
|
+
def handle(self, *args, **options):
|
|
35
|
+
verbose = options['verbose']
|
|
36
|
+
for model_name in IMPORT_MODELS:
|
|
37
|
+
_metadata = IMPORT_METADATA[model_name]
|
|
38
|
+
load_model_data_from_yaml(
|
|
39
|
+
self,
|
|
40
|
+
model_name,
|
|
41
|
+
_metadata,
|
|
42
|
+
verbose
|
|
43
|
+
)
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
from django.core.management.base import BaseCommand
|
|
2
|
+
from endoreg_db.models import Contraindication
|
|
3
|
+
from ...utils import load_model_data_from_yaml
|
|
4
|
+
from ...data import CONTRAINDICATION_DATA_DIR as SOURCE_DIR
|
|
5
|
+
|
|
6
|
+
MODEL_0 = Contraindication
|
|
7
|
+
|
|
8
|
+
IMPORT_MODELS = [ # string as model key, serves as key in IMPORT_METADATA
|
|
9
|
+
MODEL_0.__name__,
|
|
10
|
+
]
|
|
11
|
+
|
|
12
|
+
IMPORT_METADATA = {
|
|
13
|
+
MODEL_0.__name__: {
|
|
14
|
+
"dir": SOURCE_DIR, # e.g. "interventions"
|
|
15
|
+
"model": MODEL_0, # e.g. Intervention
|
|
16
|
+
"foreign_keys": [], # e.g. ["intervention_types"]
|
|
17
|
+
"foreign_key_models": [] # e.g. [InterventionType]
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
class Command(BaseCommand):
|
|
22
|
+
help = """Load all .yaml files in the data/intervention directory
|
|
23
|
+
into the Intervention and InterventionType model"""
|
|
24
|
+
|
|
25
|
+
def add_arguments(self, parser):
|
|
26
|
+
parser.add_argument(
|
|
27
|
+
'--verbose',
|
|
28
|
+
action='store_true',
|
|
29
|
+
help='Display verbose output',
|
|
30
|
+
)
|
|
31
|
+
|
|
32
|
+
def handle(self, *args, **options):
|
|
33
|
+
verbose = options['verbose']
|
|
34
|
+
for model_name in IMPORT_MODELS:
|
|
35
|
+
_metadata = IMPORT_METADATA[model_name]
|
|
36
|
+
load_model_data_from_yaml(
|
|
37
|
+
self,
|
|
38
|
+
model_name,
|
|
39
|
+
_metadata,
|
|
40
|
+
verbose
|
|
41
|
+
)
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
from django.core.management.base import BaseCommand
|
|
2
|
+
from endoreg_db.models import DiseaseClassificationChoice as MODEL_0
|
|
3
|
+
from ...utils import load_model_data_from_yaml
|
|
4
|
+
from ...data import DISEASE_CLASSIFICATION_CHOICE_DATA_DIR as SOURCE_DIR
|
|
5
|
+
|
|
6
|
+
from endoreg_db.models import DiseaseClassification
|
|
7
|
+
|
|
8
|
+
IMPORT_MODELS = [ # string as model key, serves as key in IMPORT_METADATA
|
|
9
|
+
MODEL_0.__name__,
|
|
10
|
+
]
|
|
11
|
+
|
|
12
|
+
IMPORT_METADATA = {
|
|
13
|
+
MODEL_0.__name__: {
|
|
14
|
+
"dir": SOURCE_DIR, # e.g. "interventions"
|
|
15
|
+
"model": MODEL_0, # e.g. Intervention
|
|
16
|
+
"foreign_keys": ["disease_classification"], # e.g. ["intervention_types"]
|
|
17
|
+
"foreign_key_models": [DiseaseClassification] # e.g. [InterventionType]
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
class Command(BaseCommand):
|
|
22
|
+
help = """Load all .yaml files in the data/intervention directory
|
|
23
|
+
into the Intervention and InterventionType model"""
|
|
24
|
+
|
|
25
|
+
def add_arguments(self, parser):
|
|
26
|
+
parser.add_argument(
|
|
27
|
+
'--verbose',
|
|
28
|
+
action='store_true',
|
|
29
|
+
help='Display verbose output',
|
|
30
|
+
)
|
|
31
|
+
|
|
32
|
+
def handle(self, *args, **options):
|
|
33
|
+
verbose = options['verbose']
|
|
34
|
+
for model_name in IMPORT_MODELS:
|
|
35
|
+
_metadata = IMPORT_METADATA[model_name]
|
|
36
|
+
load_model_data_from_yaml(
|
|
37
|
+
self,
|
|
38
|
+
model_name,
|
|
39
|
+
_metadata,
|
|
40
|
+
verbose
|
|
41
|
+
)
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
from django.core.management.base import BaseCommand
|
|
2
|
+
from endoreg_db.models import DiseaseClassification as MODEL_0
|
|
3
|
+
from ...utils import load_model_data_from_yaml
|
|
4
|
+
from ...data import DISEASE_CLASSIFICATION_DATA_DIR as SOURCE_DIR
|
|
5
|
+
|
|
6
|
+
from endoreg_db.models import Disease
|
|
7
|
+
|
|
8
|
+
IMPORT_MODELS = [ # string as model key, serves as key in IMPORT_METADATA
|
|
9
|
+
MODEL_0.__name__,
|
|
10
|
+
]
|
|
11
|
+
|
|
12
|
+
IMPORT_METADATA = {
|
|
13
|
+
MODEL_0.__name__: {
|
|
14
|
+
"dir": SOURCE_DIR, # e.g. "interventions"
|
|
15
|
+
"model": MODEL_0, # e.g. Intervention
|
|
16
|
+
"foreign_keys": ["disease"], # e.g. ["intervention_types"]
|
|
17
|
+
"foreign_key_models": [Disease] # e.g. [InterventionType]
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
class Command(BaseCommand):
|
|
22
|
+
help = """Load all .yaml files in the data/intervention directory
|
|
23
|
+
into the Intervention and InterventionType model"""
|
|
24
|
+
|
|
25
|
+
def add_arguments(self, parser):
|
|
26
|
+
parser.add_argument(
|
|
27
|
+
'--verbose',
|
|
28
|
+
action='store_true',
|
|
29
|
+
help='Display verbose output',
|
|
30
|
+
)
|
|
31
|
+
|
|
32
|
+
def handle(self, *args, **options):
|
|
33
|
+
verbose = options['verbose']
|
|
34
|
+
for model_name in IMPORT_MODELS:
|
|
35
|
+
_metadata = IMPORT_METADATA[model_name]
|
|
36
|
+
load_model_data_from_yaml(
|
|
37
|
+
self,
|
|
38
|
+
model_name,
|
|
39
|
+
_metadata,
|
|
40
|
+
verbose
|
|
41
|
+
)
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
from django.core.management.base import BaseCommand
|
|
2
|
+
from endoreg_db.models import (
|
|
3
|
+
Disease,
|
|
4
|
+
DiseaseClassification,
|
|
5
|
+
DiseaseClassificationChoice,
|
|
6
|
+
)
|
|
7
|
+
from ...utils import load_model_data_from_yaml
|
|
8
|
+
from ...data import (
|
|
9
|
+
DISEASE_DATA_DIR,
|
|
10
|
+
DISEASE_CLASSIFICATION_DATA_DIR,
|
|
11
|
+
DISEASE_CLASSIFICATION_CHOICE_DATA_DIR,
|
|
12
|
+
)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
IMPORT_MODELS = [ # string as model key, serves as key in IMPORT_METADATA
|
|
16
|
+
Disease.__name__,
|
|
17
|
+
DiseaseClassification.__name__,
|
|
18
|
+
DiseaseClassificationChoice.__name__,
|
|
19
|
+
]
|
|
20
|
+
|
|
21
|
+
IMPORT_METADATA = {
|
|
22
|
+
Disease.__name__: {
|
|
23
|
+
"dir": DISEASE_DATA_DIR, # e.g. "interventions"
|
|
24
|
+
"model": Disease, # e.g. Intervention
|
|
25
|
+
"foreign_keys": [], # e.g. ["intervention_types"]
|
|
26
|
+
"foreign_key_models": [] # e.g. [InterventionType]
|
|
27
|
+
},
|
|
28
|
+
DiseaseClassification.__name__: {
|
|
29
|
+
"dir": DISEASE_CLASSIFICATION_DATA_DIR, # e.g. "interventions"
|
|
30
|
+
"model": DiseaseClassification, # e.g. Intervention
|
|
31
|
+
"foreign_keys": ["disease"], # e.g. ["intervention_types"]
|
|
32
|
+
"foreign_key_models": [Disease] # e.g. [InterventionType]
|
|
33
|
+
},
|
|
34
|
+
DiseaseClassificationChoice.__name__: {
|
|
35
|
+
"dir": DISEASE_CLASSIFICATION_CHOICE_DATA_DIR, # e.g. "interventions"
|
|
36
|
+
"model": DiseaseClassificationChoice, # e.g. Intervention
|
|
37
|
+
"foreign_keys": ["disease_classification"], # e.g. ["intervention_types"]
|
|
38
|
+
"foreign_key_models": [DiseaseClassification] # e.g. [InterventionType]
|
|
39
|
+
},
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
class Command(BaseCommand):
|
|
43
|
+
help = """Load all .yaml files in the data/intervention directory
|
|
44
|
+
into the Intervention and InterventionType model"""
|
|
45
|
+
|
|
46
|
+
def add_arguments(self, parser):
|
|
47
|
+
parser.add_argument(
|
|
48
|
+
'--verbose',
|
|
49
|
+
action='store_true',
|
|
50
|
+
help='Display verbose output',
|
|
51
|
+
)
|
|
52
|
+
|
|
53
|
+
def handle(self, *args, **options):
|
|
54
|
+
verbose = options['verbose']
|
|
55
|
+
for model_name in IMPORT_MODELS:
|
|
56
|
+
_metadata = IMPORT_METADATA[model_name]
|
|
57
|
+
load_model_data_from_yaml(
|
|
58
|
+
self,
|
|
59
|
+
model_name,
|
|
60
|
+
_metadata,
|
|
61
|
+
verbose
|
|
62
|
+
)
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
from django.core.management.base import BaseCommand
|
|
2
|
+
from endoreg_db.models import (
|
|
3
|
+
NumericValueDistribution,
|
|
4
|
+
SingleCategoricalValueDistribution,
|
|
5
|
+
MultipleCategoricalValueDistribution,
|
|
6
|
+
DateValueDistribution
|
|
7
|
+
|
|
8
|
+
)
|
|
9
|
+
from collections import OrderedDict
|
|
10
|
+
|
|
11
|
+
from ...utils import load_model_data_from_yaml
|
|
12
|
+
from ...data import (
|
|
13
|
+
DISTRIBUTION_NUMERIC_DATA_DIR,
|
|
14
|
+
DISTRIBUTION_SINGLE_CATEGORICAL_DATA_DIR,
|
|
15
|
+
DISTRIBUTION_MULTIPLE_CATEGORICAL_DATA_DIR,
|
|
16
|
+
DISTRIBUTION_DATE_DATA_DIR,
|
|
17
|
+
)
|
|
18
|
+
|
|
19
|
+
IMPORT_METADATA = OrderedDict({
|
|
20
|
+
NumericValueDistribution.__name__: {
|
|
21
|
+
"dir": DISTRIBUTION_NUMERIC_DATA_DIR,
|
|
22
|
+
"model": NumericValueDistribution,
|
|
23
|
+
"foreign_keys": [],
|
|
24
|
+
"foreign_key_models": []
|
|
25
|
+
},
|
|
26
|
+
SingleCategoricalValueDistribution.__name__: {
|
|
27
|
+
"dir": DISTRIBUTION_SINGLE_CATEGORICAL_DATA_DIR,
|
|
28
|
+
"model": SingleCategoricalValueDistribution,
|
|
29
|
+
"foreign_keys": [],
|
|
30
|
+
"foreign_key_models": []
|
|
31
|
+
},
|
|
32
|
+
MultipleCategoricalValueDistribution.__name__: {
|
|
33
|
+
"dir": DISTRIBUTION_MULTIPLE_CATEGORICAL_DATA_DIR,
|
|
34
|
+
"model": MultipleCategoricalValueDistribution,
|
|
35
|
+
"foreign_keys": [],
|
|
36
|
+
"foreign_key_models": []
|
|
37
|
+
},
|
|
38
|
+
DateValueDistribution.__name__: {
|
|
39
|
+
"dir": DISTRIBUTION_DATE_DATA_DIR,
|
|
40
|
+
"model": DateValueDistribution,
|
|
41
|
+
"foreign_keys": [],
|
|
42
|
+
"foreign_key_models": []
|
|
43
|
+
},
|
|
44
|
+
})
|
|
45
|
+
|
|
46
|
+
class Command(BaseCommand):
|
|
47
|
+
help = """Load all .yaml files in the data/intervention directory
|
|
48
|
+
into the Intervention and InterventionType model"""
|
|
49
|
+
|
|
50
|
+
def add_arguments(self, parser):
|
|
51
|
+
parser.add_argument(
|
|
52
|
+
'--verbose',
|
|
53
|
+
action='store_true',
|
|
54
|
+
help='Display verbose output',
|
|
55
|
+
)
|
|
56
|
+
|
|
57
|
+
def handle(self, *args, **options):
|
|
58
|
+
verbose = options['verbose']
|
|
59
|
+
for model_name in IMPORT_METADATA.keys():
|
|
60
|
+
_metadata = IMPORT_METADATA[model_name]
|
|
61
|
+
load_model_data_from_yaml(
|
|
62
|
+
self,
|
|
63
|
+
model_name,
|
|
64
|
+
_metadata,
|
|
65
|
+
verbose
|
|
66
|
+
)
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
from django.conf import settings
|
|
2
|
+
import os
|
|
3
|
+
from django.core.management.base import BaseCommand
|
|
4
|
+
from ...models import (
|
|
5
|
+
EndoscopeType,
|
|
6
|
+
Endoscope,
|
|
7
|
+
EndoscopyProcessor,
|
|
8
|
+
Center
|
|
9
|
+
)
|
|
10
|
+
from ...utils import load_model_data_from_yaml
|
|
11
|
+
from ...data import (
|
|
12
|
+
ENDOSCOPE_TYPE_DATA_DIR,
|
|
13
|
+
ENDOSCOPY_PROCESSOR_DATA_DIR,
|
|
14
|
+
ENDOSCOPE_DATA_DIR,
|
|
15
|
+
)
|
|
16
|
+
|
|
17
|
+
SOURCE_DIR = ENDOSCOPE_TYPE_DATA_DIR # e.g. settings.DATA_DIR_INTERVENTION
|
|
18
|
+
|
|
19
|
+
MODEL_0 = EndoscopeType
|
|
20
|
+
|
|
21
|
+
IMPORT_MODELS = [ # string as model key, serves as key in IMPORT_METADATA
|
|
22
|
+
EndoscopeType.__name__,
|
|
23
|
+
EndoscopyProcessor.__name__,
|
|
24
|
+
Endoscope.__name__,
|
|
25
|
+
]
|
|
26
|
+
|
|
27
|
+
IMPORT_METADATA = {
|
|
28
|
+
EndoscopeType.__name__: {
|
|
29
|
+
"dir": ENDOSCOPE_TYPE_DATA_DIR, # e.g. "interventions"
|
|
30
|
+
"model": EndoscopeType, # e.g. Intervention
|
|
31
|
+
"foreign_keys": [], # e.g. ["intervention_types"]
|
|
32
|
+
"foreign_key_models": [] # e.g. [InterventionType]
|
|
33
|
+
},
|
|
34
|
+
EndoscopyProcessor.__name__: {
|
|
35
|
+
"dir": ENDOSCOPY_PROCESSOR_DATA_DIR,
|
|
36
|
+
"model": EndoscopyProcessor,
|
|
37
|
+
"foreign_keys": [],
|
|
38
|
+
"foreign_key_models": []
|
|
39
|
+
},
|
|
40
|
+
Endoscope.__name__: {
|
|
41
|
+
"dir": ENDOSCOPE_DATA_DIR,
|
|
42
|
+
"model": Endoscope,
|
|
43
|
+
"foreign_keys": ["center", "endoscope_type"],
|
|
44
|
+
"foreign_key_models": [Center, EndoscopeType]
|
|
45
|
+
},
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
class Command(BaseCommand):
|
|
49
|
+
help = """Load all .yaml files in the data/intervention directory
|
|
50
|
+
into the Intervention and InterventionType model"""
|
|
51
|
+
|
|
52
|
+
def add_arguments(self, parser):
|
|
53
|
+
parser.add_argument(
|
|
54
|
+
'--verbose',
|
|
55
|
+
action='store_true',
|
|
56
|
+
help='Display verbose output',
|
|
57
|
+
)
|
|
58
|
+
|
|
59
|
+
def handle(self, *args, **options):
|
|
60
|
+
verbose = options['verbose']
|
|
61
|
+
for model_name in IMPORT_MODELS:
|
|
62
|
+
_metadata = IMPORT_METADATA[model_name]
|
|
63
|
+
load_model_data_from_yaml(
|
|
64
|
+
self,
|
|
65
|
+
model_name,
|
|
66
|
+
_metadata,
|
|
67
|
+
verbose
|
|
68
|
+
)
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
from django.core.management.base import BaseCommand
|
|
2
|
+
from endoreg_db.models import Event
|
|
3
|
+
from ...utils import load_model_data_from_yaml
|
|
4
|
+
from ...data import EVENT_DATA_DIR as SOURCE_DIR
|
|
5
|
+
|
|
6
|
+
MODEL_0 = Event
|
|
7
|
+
|
|
8
|
+
IMPORT_MODELS = [ # string as model key, serves as key in IMPORT_METADATA
|
|
9
|
+
MODEL_0.__name__,
|
|
10
|
+
]
|
|
11
|
+
|
|
12
|
+
IMPORT_METADATA = {
|
|
13
|
+
MODEL_0.__name__: {
|
|
14
|
+
"dir": SOURCE_DIR, # e.g. "interventions"
|
|
15
|
+
"model": MODEL_0, # e.g. Intervention
|
|
16
|
+
"foreign_keys": [], # e.g. ["intervention_types"]
|
|
17
|
+
"foreign_key_models": [] # e.g. [InterventionType]
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
class Command(BaseCommand):
|
|
22
|
+
help = """Load all .yaml files in the data/intervention directory
|
|
23
|
+
into the Intervention and InterventionType model"""
|
|
24
|
+
|
|
25
|
+
def add_arguments(self, parser):
|
|
26
|
+
parser.add_argument(
|
|
27
|
+
'--verbose',
|
|
28
|
+
action='store_true',
|
|
29
|
+
help='Display verbose output',
|
|
30
|
+
)
|
|
31
|
+
|
|
32
|
+
def handle(self, *args, **options):
|
|
33
|
+
verbose = options['verbose']
|
|
34
|
+
for model_name in IMPORT_MODELS:
|
|
35
|
+
_metadata = IMPORT_METADATA[model_name]
|
|
36
|
+
load_model_data_from_yaml(
|
|
37
|
+
self,
|
|
38
|
+
model_name,
|
|
39
|
+
_metadata,
|
|
40
|
+
verbose
|
|
41
|
+
)
|