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,50 @@
|
|
|
1
|
+
from django.core.management.base import BaseCommand
|
|
2
|
+
from endoreg_db.models import LabValue as MODEL_0
|
|
3
|
+
from endoreg_db.models import PatientLabSampleType, NumericValueDistribution
|
|
4
|
+
from ...utils import load_model_data_from_yaml
|
|
5
|
+
from ...data import LAB_VALUE_DATA_DIR as SOURCE_DIR
|
|
6
|
+
from ...data import PATIENT_LAB_SAMPLE_TYPE_DATA_DIR
|
|
7
|
+
|
|
8
|
+
from endoreg_db.models import Unit
|
|
9
|
+
|
|
10
|
+
IMPORT_MODELS = [ # string as model key, serves as key in IMPORT_METADATA
|
|
11
|
+
MODEL_0.__name__,
|
|
12
|
+
PatientLabSampleType.__name__
|
|
13
|
+
]
|
|
14
|
+
|
|
15
|
+
IMPORT_METADATA = {
|
|
16
|
+
MODEL_0.__name__: {
|
|
17
|
+
"dir": SOURCE_DIR, # e.g. "interventions"
|
|
18
|
+
"model": MODEL_0, # e.g. Intervention
|
|
19
|
+
"foreign_keys": ["default_unit","default_numerical_value_distribution"], # e.g. ["intervention_types"]
|
|
20
|
+
"foreign_key_models": [Unit, NumericValueDistribution] # e.g. [InterventionType]
|
|
21
|
+
},
|
|
22
|
+
PatientLabSampleType.__name__: {
|
|
23
|
+
"dir": PATIENT_LAB_SAMPLE_TYPE_DATA_DIR,
|
|
24
|
+
"model": PatientLabSampleType,
|
|
25
|
+
"foreign_keys": [],
|
|
26
|
+
"foreign_key_models": []
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
class Command(BaseCommand):
|
|
31
|
+
help = """Load all .yaml files in the data/intervention directory
|
|
32
|
+
into the Intervention and InterventionType model"""
|
|
33
|
+
|
|
34
|
+
def add_arguments(self, parser):
|
|
35
|
+
parser.add_argument(
|
|
36
|
+
'--verbose',
|
|
37
|
+
action='store_true',
|
|
38
|
+
help='Display verbose output',
|
|
39
|
+
)
|
|
40
|
+
|
|
41
|
+
def handle(self, *args, **options):
|
|
42
|
+
verbose = options['verbose']
|
|
43
|
+
for model_name in IMPORT_MODELS:
|
|
44
|
+
_metadata = IMPORT_METADATA[model_name]
|
|
45
|
+
load_model_data_from_yaml(
|
|
46
|
+
self,
|
|
47
|
+
model_name,
|
|
48
|
+
_metadata,
|
|
49
|
+
verbose
|
|
50
|
+
)
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
from django.core.management.base import BaseCommand
|
|
2
|
+
from endoreg_db.models import LogType as MODEL_0
|
|
3
|
+
from ...utils import load_model_data_from_yaml
|
|
4
|
+
from ...data import LOG_TYPE_DATA_DIR as SOURCE_DIR
|
|
5
|
+
|
|
6
|
+
IMPORT_MODELS = [ # string as model key, serves as key in IMPORT_METADATA
|
|
7
|
+
MODEL_0.__name__,
|
|
8
|
+
]
|
|
9
|
+
|
|
10
|
+
IMPORT_METADATA = {
|
|
11
|
+
MODEL_0.__name__: {
|
|
12
|
+
"dir": SOURCE_DIR, # e.g. "interventions"
|
|
13
|
+
"model": MODEL_0, # e.g. Intervention
|
|
14
|
+
"foreign_keys": [], # e.g. ["intervention_types"]
|
|
15
|
+
"foreign_key_models": [] # e.g. [InterventionType]
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
class Command(BaseCommand):
|
|
20
|
+
help = """Load all .yaml files in the data/intervention directory
|
|
21
|
+
into the Intervention and InterventionType model"""
|
|
22
|
+
|
|
23
|
+
def add_arguments(self, parser):
|
|
24
|
+
parser.add_argument(
|
|
25
|
+
'--verbose',
|
|
26
|
+
action='store_true',
|
|
27
|
+
help='Display verbose output',
|
|
28
|
+
)
|
|
29
|
+
|
|
30
|
+
def handle(self, *args, **options):
|
|
31
|
+
verbose = options['verbose']
|
|
32
|
+
for model_name in IMPORT_MODELS:
|
|
33
|
+
_metadata = IMPORT_METADATA[model_name]
|
|
34
|
+
load_model_data_from_yaml(
|
|
35
|
+
self,
|
|
36
|
+
model_name,
|
|
37
|
+
_metadata,
|
|
38
|
+
verbose
|
|
39
|
+
)
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# Management command to load LuxNix Model Data
|
|
2
|
+
|
|
3
|
+
from django.core.management.base import BaseCommand
|
|
4
|
+
|
|
5
|
+
from endoreg_db.models import (
|
|
6
|
+
LxClientType, LxClientTag, LxPermission
|
|
7
|
+
)
|
|
8
|
+
|
|
9
|
+
from ...utils import load_model_data_from_yaml
|
|
10
|
+
|
|
11
|
+
from ...data import (
|
|
12
|
+
LX_CLIENT_TYPE_DATA_DIR,
|
|
13
|
+
LX_CLIENT_TAG_DATA_DIR,
|
|
14
|
+
LX_PERMISSION_DATA_DIR
|
|
15
|
+
)
|
|
16
|
+
|
|
17
|
+
IMPORT_MODELS = [
|
|
18
|
+
LxPermission.__name__,
|
|
19
|
+
LxClientType.__name__,
|
|
20
|
+
LxClientTag.__name__, # M2M relationship with LxPermission ("permissions")
|
|
21
|
+
]
|
|
22
|
+
|
|
23
|
+
IMPORT_METADATA = {
|
|
24
|
+
LxPermission.__name__: {
|
|
25
|
+
"dir": LX_PERMISSION_DATA_DIR,
|
|
26
|
+
"model": LxPermission,
|
|
27
|
+
"foreign_keys": [],
|
|
28
|
+
"foreign_key_models": []
|
|
29
|
+
},
|
|
30
|
+
LxClientType.__name__: {
|
|
31
|
+
"dir": LX_CLIENT_TYPE_DATA_DIR,
|
|
32
|
+
"model": LxClientType,
|
|
33
|
+
"foreign_keys": [],
|
|
34
|
+
"foreign_key_models": []
|
|
35
|
+
},
|
|
36
|
+
LxClientTag.__name__: {
|
|
37
|
+
"dir": LX_CLIENT_TAG_DATA_DIR,
|
|
38
|
+
"model": LxClientTag,
|
|
39
|
+
"foreign_keys": ["permissions"],
|
|
40
|
+
"foreign_key_models": [LxPermission]
|
|
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(
|
|
60
|
+
self,
|
|
61
|
+
model_name,
|
|
62
|
+
_metadata,
|
|
63
|
+
verbose
|
|
64
|
+
)
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
from django.core.management.base import BaseCommand
|
|
2
|
+
from endoreg_db.models import (
|
|
3
|
+
Medication,
|
|
4
|
+
MedicationIndication,
|
|
5
|
+
MedicationIndicationType,
|
|
6
|
+
MedicationIntakeTime,
|
|
7
|
+
MedicationSchedule,
|
|
8
|
+
Unit,
|
|
9
|
+
Disease,
|
|
10
|
+
Event,
|
|
11
|
+
InformationSource,
|
|
12
|
+
DiseaseClassificationChoice,
|
|
13
|
+
)
|
|
14
|
+
from ...utils import load_model_data_from_yaml
|
|
15
|
+
from ...data import (
|
|
16
|
+
MEDICATION_DATA_DIR,
|
|
17
|
+
MEDICATION_INDICATION_TYPE_DATA_DIR,
|
|
18
|
+
MEDICATION_INTAKE_TIME_DATA_DIR,
|
|
19
|
+
MEDICATION_SCHEDULE_DATA_DIR,
|
|
20
|
+
MEDICATION_INDICATION_DATA_DIR,
|
|
21
|
+
)
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
IMPORT_MODELS = [ # string as model key, serves as key in IMPORT_METADATA
|
|
25
|
+
Medication.__name__,
|
|
26
|
+
MedicationIndicationType.__name__,
|
|
27
|
+
MedicationIntakeTime.__name__,
|
|
28
|
+
MedicationSchedule.__name__,
|
|
29
|
+
MedicationIndication.__name__,
|
|
30
|
+
]
|
|
31
|
+
|
|
32
|
+
IMPORT_METADATA = {
|
|
33
|
+
Medication.__name__: {
|
|
34
|
+
"dir": MEDICATION_DATA_DIR, # e.g. "interventions"
|
|
35
|
+
"model": Medication, # e.g. Intervention
|
|
36
|
+
"foreign_keys": ["default_unit"], # e.g. ["intervention_types"]
|
|
37
|
+
"foreign_key_models": [Unit], # e.g. [InterventionType]
|
|
38
|
+
},
|
|
39
|
+
MedicationIndicationType.__name__: {
|
|
40
|
+
"dir": MEDICATION_INDICATION_TYPE_DATA_DIR, # e.g. "interventions"
|
|
41
|
+
"model": MedicationIndicationType, # e.g. Intervention
|
|
42
|
+
"foreign_keys": [], # e.g. ["intervention_types"]
|
|
43
|
+
"foreign_key_models": [], # e.g. [InterventionType]
|
|
44
|
+
},
|
|
45
|
+
MedicationIntakeTime.__name__: {
|
|
46
|
+
"dir": MEDICATION_INTAKE_TIME_DATA_DIR, # e.g. "interventions"
|
|
47
|
+
"model": MedicationIntakeTime, # e.g. Intervention
|
|
48
|
+
"foreign_keys": [], # e.g. ["intervention_types"]
|
|
49
|
+
"foreign_key_models": [], # e.g. [InterventionType]
|
|
50
|
+
},
|
|
51
|
+
MedicationSchedule.__name__: {
|
|
52
|
+
"dir": MEDICATION_SCHEDULE_DATA_DIR, # e.g. "interventions"
|
|
53
|
+
"model": MedicationSchedule, # e.g. Intervention
|
|
54
|
+
"foreign_keys": [
|
|
55
|
+
"medication",
|
|
56
|
+
"intake_times",
|
|
57
|
+
"unit",
|
|
58
|
+
], # e.g. ["intervention_types"]
|
|
59
|
+
"foreign_key_models": [
|
|
60
|
+
Medication,
|
|
61
|
+
MedicationIntakeTime,
|
|
62
|
+
Unit,
|
|
63
|
+
], # e.g. [InterventionType]
|
|
64
|
+
},
|
|
65
|
+
MedicationIndication.__name__: {
|
|
66
|
+
"dir": MEDICATION_INDICATION_DATA_DIR, # e.g. "interventions"
|
|
67
|
+
"model": MedicationIndication, # e.g. Intervention
|
|
68
|
+
"foreign_keys": [
|
|
69
|
+
"indication_type",
|
|
70
|
+
"medication_schedules",
|
|
71
|
+
"diseases",
|
|
72
|
+
"events",
|
|
73
|
+
"disease_classification_choices",
|
|
74
|
+
"sources",
|
|
75
|
+
], # e.g. ["intervention_types"]
|
|
76
|
+
"foreign_key_models": [
|
|
77
|
+
MedicationIndicationType,
|
|
78
|
+
MedicationSchedule,
|
|
79
|
+
Disease,
|
|
80
|
+
Event,
|
|
81
|
+
DiseaseClassificationChoice,
|
|
82
|
+
InformationSource,
|
|
83
|
+
], # e.g. [InterventionType]
|
|
84
|
+
},
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
class Command(BaseCommand):
|
|
89
|
+
help = """Load all .yaml files in the data/intervention directory
|
|
90
|
+
into the Intervention and InterventionType model"""
|
|
91
|
+
|
|
92
|
+
def add_arguments(self, parser):
|
|
93
|
+
parser.add_argument(
|
|
94
|
+
"--verbose",
|
|
95
|
+
action="store_true",
|
|
96
|
+
help="Display verbose output",
|
|
97
|
+
)
|
|
98
|
+
|
|
99
|
+
def handle(self, *args, **options):
|
|
100
|
+
verbose = options["verbose"]
|
|
101
|
+
for model_name in IMPORT_MODELS:
|
|
102
|
+
_metadata = IMPORT_METADATA[model_name]
|
|
103
|
+
load_model_data_from_yaml(self, model_name, _metadata, verbose)
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
from django.core.management.base import BaseCommand
|
|
2
|
+
from endoreg_db.models import (
|
|
3
|
+
MedicationIndication,
|
|
4
|
+
MedicationIndicationType,
|
|
5
|
+
MedicationSchedule,
|
|
6
|
+
Disease,
|
|
7
|
+
Event,
|
|
8
|
+
DiseaseClassificationChoice,
|
|
9
|
+
InformationSource
|
|
10
|
+
)
|
|
11
|
+
from ...utils import load_model_data_from_yaml
|
|
12
|
+
from ...data import MEDICATION_INDICATION_DATA_DIR as SOURCE_DIR
|
|
13
|
+
|
|
14
|
+
MODEL_0 = MedicationIndication
|
|
15
|
+
|
|
16
|
+
IMPORT_MODELS = [ # string as model key, serves as key in IMPORT_METADATA
|
|
17
|
+
MODEL_0.__name__,
|
|
18
|
+
]
|
|
19
|
+
|
|
20
|
+
IMPORT_METADATA = {
|
|
21
|
+
MODEL_0.__name__: {
|
|
22
|
+
"dir": SOURCE_DIR, # e.g. "interventions"
|
|
23
|
+
"model": MODEL_0, # e.g. Intervention
|
|
24
|
+
"foreign_keys": [
|
|
25
|
+
"indication_type",
|
|
26
|
+
"medication_schedules",
|
|
27
|
+
"diseases",
|
|
28
|
+
"events",
|
|
29
|
+
"classification_choices",
|
|
30
|
+
"sources"
|
|
31
|
+
], # e.g. ["intervention_types"]
|
|
32
|
+
"foreign_key_models": [
|
|
33
|
+
MedicationIndicationType,
|
|
34
|
+
MedicationSchedule,
|
|
35
|
+
Disease,
|
|
36
|
+
Event,
|
|
37
|
+
DiseaseClassificationChoice,
|
|
38
|
+
InformationSource
|
|
39
|
+
] # e.g. [InterventionType]
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
class Command(BaseCommand):
|
|
44
|
+
help = """Load all .yaml files in the data/intervention directory
|
|
45
|
+
into the Intervention and InterventionType model"""
|
|
46
|
+
|
|
47
|
+
def add_arguments(self, parser):
|
|
48
|
+
parser.add_argument(
|
|
49
|
+
'--verbose',
|
|
50
|
+
action='store_true',
|
|
51
|
+
help='Display verbose output',
|
|
52
|
+
)
|
|
53
|
+
|
|
54
|
+
def handle(self, *args, **options):
|
|
55
|
+
verbose = options['verbose']
|
|
56
|
+
for model_name in IMPORT_MODELS:
|
|
57
|
+
_metadata = IMPORT_METADATA[model_name]
|
|
58
|
+
load_model_data_from_yaml(
|
|
59
|
+
self,
|
|
60
|
+
model_name,
|
|
61
|
+
_metadata,
|
|
62
|
+
verbose
|
|
63
|
+
)
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
from django.core.management.base import BaseCommand
|
|
2
|
+
from endoreg_db.models import MedicationIndicationType
|
|
3
|
+
from ...utils import load_model_data_from_yaml
|
|
4
|
+
from ...data import MEDICATION_INDICATION_TYPE_DATA_DIR as SOURCE_DIR
|
|
5
|
+
|
|
6
|
+
MODEL_0 = MedicationIndicationType
|
|
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 MedicationIntakeTime
|
|
3
|
+
from ...utils import load_model_data_from_yaml
|
|
4
|
+
from ...data import MEDICATION_INTAKE_TIME_DATA_DIR as SOURCE_DIR
|
|
5
|
+
|
|
6
|
+
MODEL_0 = MedicationIntakeTime
|
|
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,55 @@
|
|
|
1
|
+
from django.core.management.base import BaseCommand
|
|
2
|
+
from endoreg_db.models import (
|
|
3
|
+
MedicationSchedule,
|
|
4
|
+
Medication,
|
|
5
|
+
MedicationIntakeTime,
|
|
6
|
+
Unit,
|
|
7
|
+
InformationSource
|
|
8
|
+
)
|
|
9
|
+
from ...utils import load_model_data_from_yaml
|
|
10
|
+
from ...data import MEDICATION_SCHEDULE_DATA_DIR as SOURCE_DIR
|
|
11
|
+
|
|
12
|
+
MODEL_0 = MedicationSchedule
|
|
13
|
+
|
|
14
|
+
IMPORT_MODELS = [ # string as model key, serves as key in IMPORT_METADATA
|
|
15
|
+
MODEL_0.__name__,
|
|
16
|
+
]
|
|
17
|
+
|
|
18
|
+
IMPORT_METADATA = {
|
|
19
|
+
MODEL_0.__name__: {
|
|
20
|
+
"dir": SOURCE_DIR, # e.g. "interventions"
|
|
21
|
+
"model": MODEL_0, # e.g. Intervention
|
|
22
|
+
"foreign_keys": [
|
|
23
|
+
"medication",
|
|
24
|
+
"intake_times",
|
|
25
|
+
"unit",
|
|
26
|
+
], # e.g. ["intervention_types"]
|
|
27
|
+
"foreign_key_models": [
|
|
28
|
+
Medication,
|
|
29
|
+
MedicationIntakeTime,
|
|
30
|
+
Unit,
|
|
31
|
+
] # e.g. [InterventionType]
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
class Command(BaseCommand):
|
|
36
|
+
help = """Load all .yaml files in the data/intervention directory
|
|
37
|
+
into the Intervention and InterventionType model"""
|
|
38
|
+
|
|
39
|
+
def add_arguments(self, parser):
|
|
40
|
+
parser.add_argument(
|
|
41
|
+
'--verbose',
|
|
42
|
+
action='store_true',
|
|
43
|
+
help='Display verbose output',
|
|
44
|
+
)
|
|
45
|
+
|
|
46
|
+
def handle(self, *args, **options):
|
|
47
|
+
verbose = options['verbose']
|
|
48
|
+
for model_name in IMPORT_MODELS:
|
|
49
|
+
_metadata = IMPORT_METADATA[model_name]
|
|
50
|
+
load_model_data_from_yaml(
|
|
51
|
+
self,
|
|
52
|
+
model_name,
|
|
53
|
+
_metadata,
|
|
54
|
+
verbose
|
|
55
|
+
)
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# endoreg_db/management/commands/generate_names.py
|
|
2
|
+
|
|
3
|
+
import os
|
|
4
|
+
from django.core.management.base import BaseCommand
|
|
5
|
+
from endoreg_db.utils import collect_center_names # Import your function here
|
|
6
|
+
from pathlib import Path
|
|
7
|
+
|
|
8
|
+
class Command(BaseCommand):
|
|
9
|
+
help = "Generate first_names.yaml and last_names.yaml from center data"
|
|
10
|
+
|
|
11
|
+
def add_arguments(self, parser):
|
|
12
|
+
# Adding an argument for the input file path
|
|
13
|
+
# parser.add_argument(
|
|
14
|
+
# '--input_file_path',
|
|
15
|
+
# type=str,
|
|
16
|
+
# required=False,
|
|
17
|
+
# help="Path to the input YAML file containing center data",
|
|
18
|
+
# default="data/center/data.yaml",
|
|
19
|
+
# )
|
|
20
|
+
# parser.add_argument(
|
|
21
|
+
# '--output-dir',
|
|
22
|
+
# type=str,
|
|
23
|
+
# default=os.getcwd(),
|
|
24
|
+
# help="Directory where the output files will be saved (default: current directory)",
|
|
25
|
+
# )
|
|
26
|
+
pass
|
|
27
|
+
|
|
28
|
+
def handle(self, *args, **options):
|
|
29
|
+
|
|
30
|
+
# Run the function with the provided arguments
|
|
31
|
+
try:
|
|
32
|
+
collect_center_names()
|
|
33
|
+
self.stdout.write(self.style.SUCCESS("Successfully generated YAML files."))
|
|
34
|
+
except Exception as e:
|
|
35
|
+
self.stderr.write(self.style.ERROR(f"An error occurred: {e}"))
|
|
36
|
+
|
|
37
|
+
self.stderr.write(self.style.ERROR(f"PWD: {os.getcwd()}"))
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
from django.core.management.base import BaseCommand
|
|
2
|
+
from endoreg_db.models import NetworkDevice, NetworkDeviceType, AglService
|
|
3
|
+
from ...utils import load_model_data_from_yaml
|
|
4
|
+
from ...data import NETWORK_DEVICE_DATA_DIR, NETWORK_DEVICE_TYPE_DATA_DIR, AGL_SERVICE_DATA_DIR
|
|
5
|
+
|
|
6
|
+
MODEL_0 = NetworkDeviceType
|
|
7
|
+
MODEL_1 = NetworkDevice
|
|
8
|
+
MODEL_2 = AglService
|
|
9
|
+
|
|
10
|
+
IMPORT_MODELS = [ # string as model key, serves as key in IMPORT_METADATA
|
|
11
|
+
MODEL_0.__name__,
|
|
12
|
+
MODEL_1.__name__,
|
|
13
|
+
MODEL_2.__name__,
|
|
14
|
+
]
|
|
15
|
+
|
|
16
|
+
IMPORT_METADATA = {
|
|
17
|
+
MODEL_0.__name__: {
|
|
18
|
+
"dir": NETWORK_DEVICE_TYPE_DATA_DIR, # e.g. "interventions"
|
|
19
|
+
"model": MODEL_0, # e.g. Intervention
|
|
20
|
+
"foreign_keys": [], # e.g. ["intervention_types"]
|
|
21
|
+
"foreign_key_models": [] # e.g. [InterventionType]
|
|
22
|
+
},
|
|
23
|
+
MODEL_1.__name__: {
|
|
24
|
+
"dir": NETWORK_DEVICE_DATA_DIR, # e.g. "interventions"
|
|
25
|
+
"model": MODEL_1, # e.g. Intervention
|
|
26
|
+
"foreign_keys": ["device_type"], # e.g. ["intervention_types"]
|
|
27
|
+
"foreign_key_models": [NetworkDeviceType] # e.g. [InterventionType]
|
|
28
|
+
},
|
|
29
|
+
MODEL_2.__name__: {
|
|
30
|
+
"dir": AGL_SERVICE_DATA_DIR, # e.g. "interventions"
|
|
31
|
+
"model": MODEL_2, # e.g. Intervention
|
|
32
|
+
"foreign_keys": ["devices"], # e.g. ["intervention_types"]
|
|
33
|
+
"foreign_key_models": [NetworkDevice] # e.g. [InterventionType]
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
class Command(BaseCommand):
|
|
38
|
+
help = """Load all .yaml files in the data/intervention directory
|
|
39
|
+
into the Intervention and InterventionType model"""
|
|
40
|
+
|
|
41
|
+
def add_arguments(self, parser):
|
|
42
|
+
parser.add_argument(
|
|
43
|
+
'--verbose',
|
|
44
|
+
action='store_true',
|
|
45
|
+
help='Display verbose output',
|
|
46
|
+
)
|
|
47
|
+
|
|
48
|
+
def handle(self, *args, **options):
|
|
49
|
+
verbose = options['verbose']
|
|
50
|
+
for model_name in IMPORT_MODELS:
|
|
51
|
+
_metadata = IMPORT_METADATA[model_name]
|
|
52
|
+
load_model_data_from_yaml(
|
|
53
|
+
self,
|
|
54
|
+
model_name,
|
|
55
|
+
_metadata,
|
|
56
|
+
verbose
|
|
57
|
+
)
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
from django.core.management.base import BaseCommand
|
|
2
|
+
from endoreg_db.models import Organ
|
|
3
|
+
from ...utils import load_model_data_from_yaml
|
|
4
|
+
from ...data import (
|
|
5
|
+
ORGAN_DATA_DIR
|
|
6
|
+
)
|
|
7
|
+
|
|
8
|
+
MODEL_0 = Organ
|
|
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": ORGAN_DATA_DIR, # e.g. "interventions"
|
|
17
|
+
"model": MODEL_0, # e.g. Intervention
|
|
18
|
+
"foreign_keys": [], # e.g. ["intervention_types"]
|
|
19
|
+
"foreign_key_models": [] # 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,61 @@
|
|
|
1
|
+
from django.conf import settings
|
|
2
|
+
import os
|
|
3
|
+
from django.core.management.base import BaseCommand
|
|
4
|
+
|
|
5
|
+
import yaml
|
|
6
|
+
from ...utils import load_model_data_from_yaml
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
#### CUSTOMIZE
|
|
10
|
+
from ...models import PdfType, ReportReaderFlag
|
|
11
|
+
from ...data import PDF_TYPE_DATA_DIR
|
|
12
|
+
|
|
13
|
+
SOURCE_DIR = PDF_TYPE_DATA_DIR # e.g. settings.DATA_DIR_INTERVENTION
|
|
14
|
+
|
|
15
|
+
MODEL_0 = PdfType
|
|
16
|
+
|
|
17
|
+
IMPORT_MODELS = [ # string as model key, serves as key in IMPORT_METADATA
|
|
18
|
+
MODEL_0.__name__,
|
|
19
|
+
]
|
|
20
|
+
|
|
21
|
+
IMPORT_METADATA = {
|
|
22
|
+
MODEL_0.__name__: {
|
|
23
|
+
"dir": SOURCE_DIR, # e.g. "interventions"
|
|
24
|
+
"model": MODEL_0, # e.g. Intervention
|
|
25
|
+
"foreign_keys": [
|
|
26
|
+
"patient_info_line",
|
|
27
|
+
"endoscope_info_line",
|
|
28
|
+
"examiner_info_line",
|
|
29
|
+
"cut_off_below_lines",
|
|
30
|
+
"cut_off_above_lines"
|
|
31
|
+
], # e.g. ["intervention_types"]
|
|
32
|
+
"foreign_key_models": [
|
|
33
|
+
ReportReaderFlag,
|
|
34
|
+
ReportReaderFlag,
|
|
35
|
+
ReportReaderFlag,
|
|
36
|
+
ReportReaderFlag,
|
|
37
|
+
ReportReaderFlag
|
|
38
|
+
] # e.g. [InterventionType]
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
class Command(BaseCommand):
|
|
43
|
+
help = f"""Load all .yaml files in the {SOURCE_DIR} directory"""
|
|
44
|
+
|
|
45
|
+
def add_arguments(self, parser):
|
|
46
|
+
parser.add_argument(
|
|
47
|
+
'--verbose',
|
|
48
|
+
action='store_true',
|
|
49
|
+
help='Display verbose output',
|
|
50
|
+
)
|
|
51
|
+
|
|
52
|
+
def handle(self, *args, **options):
|
|
53
|
+
verbose = options['verbose']
|
|
54
|
+
for model_name in IMPORT_MODELS:
|
|
55
|
+
_metadata = IMPORT_METADATA[model_name]
|
|
56
|
+
load_model_data_from_yaml(
|
|
57
|
+
self,
|
|
58
|
+
model_name,
|
|
59
|
+
_metadata,
|
|
60
|
+
verbose
|
|
61
|
+
)
|