endoreg-db 0.3.6__py3-none-any.whl → 0.3.8__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.
- endoreg_db/admin.py +3 -3
- endoreg_db/apps.py +6 -6
- endoreg_db/data/__init__.py +67 -64
- endoreg_db/data/active_model/data.yaml +2 -2
- endoreg_db/data/case_template/rule/00_patient_lab_sample_add_default_value.yaml +167 -167
- endoreg_db/data/case_template/rule/01_patient-set-age.yaml +7 -7
- endoreg_db/data/case_template/rule/01_patient-set-gender.yaml +8 -8
- endoreg_db/data/case_template/rule/11_create_patient_lab_sample.yaml +22 -22
- endoreg_db/data/case_template/rule/12_create-patient_medication-anticoagulation.yaml +18 -18
- endoreg_db/data/case_template/rule/13_create-patient_medication_schedule-anticoagulation.yaml +18 -18
- endoreg_db/data/case_template/rule/19_create_patient.yaml +16 -16
- endoreg_db/data/case_template/rule_type/base_types.yaml +35 -35
- endoreg_db/data/case_template/rule_value/.init +0 -0
- endoreg_db/data/case_template/rule_value_type/base_types.yaml +58 -58
- endoreg_db/data/case_template/template/base.yaml +7 -7
- endoreg_db/data/case_template/template_type/pre_endoscopy.yaml +2 -2
- endoreg_db/data/case_template/tmp/_rule_value +13 -13
- endoreg_db/data/case_template/tmp/rule/01_atrial_fibrillation.yaml +21 -21
- endoreg_db/data/case_template/tmp/rule/02_create_object.yaml +9 -9
- endoreg_db/data/case_template/tmp/template/atrial_fibrillation_low_risk.yaml +6 -6
- endoreg_db/data/center/data.yaml +59 -59
- endoreg_db/data/center_resource/green_endoscopy_dashboard_CenterResource.yaml +144 -144
- endoreg_db/data/center_waste/green_endoscopy_dashboard_CenterWaste.yaml +48 -48
- endoreg_db/data/disease/cardiovascular.yaml +37 -37
- endoreg_db/data/disease/hepatology.yaml +4 -4
- endoreg_db/data/disease/misc.yaml +5 -5
- endoreg_db/data/disease/renal.yaml +4 -4
- endoreg_db/data/disease_classification/chronic_kidney_disease.yaml +5 -5
- endoreg_db/data/disease_classification/coronary_vessel_disease.yaml +5 -5
- endoreg_db/data/disease_classification_choice/chronic_kidney_disease.yaml +40 -40
- endoreg_db/data/disease_classification_choice/coronary_vessel_disease.yaml +19 -19
- endoreg_db/data/distribution/date/patient.yaml +6 -6
- endoreg_db/data/distribution/multiple_categorical/.init +0 -0
- endoreg_db/data/distribution/numeric/.init +0 -0
- endoreg_db/data/distribution/single_categorical/patient.yaml +6 -6
- endoreg_db/data/emission_factor/green_endoscopy_dashboard_EmissionFactor.yaml +132 -132
- endoreg_db/data/endoscope_type/data.yaml +10 -10
- endoreg_db/data/endoscopy_processor/data.yaml +45 -45
- endoreg_db/data/event/cardiology.yaml +27 -27
- endoreg_db/data/event/neurology.yaml +13 -13
- endoreg_db/data/event/surgery.yaml +12 -12
- endoreg_db/data/event/thrombembolism.yaml +19 -19
- endoreg_db/data/examination/examinations/data.yaml +65 -65
- endoreg_db/data/examination/time/data.yaml +47 -47
- endoreg_db/data/examination/time-type/data.yaml +7 -7
- endoreg_db/data/examination/type/data.yaml +5 -5
- endoreg_db/data/gender/data.yaml +18 -18
- endoreg_db/data/information_source/data.yaml +30 -30
- endoreg_db/data/information_source/medication.yaml +5 -5
- endoreg_db/data/lab_value/cardiac_enzymes.yaml +30 -30
- endoreg_db/data/lab_value/coagulation.yaml +48 -48
- endoreg_db/data/lab_value/electrolytes.yaml +189 -189
- endoreg_db/data/lab_value/gastrointestinal_function.yaml +121 -121
- endoreg_db/data/lab_value/hematology.yaml +169 -169
- endoreg_db/data/lab_value/hormones.yaml +53 -53
- endoreg_db/data/lab_value/lipids.yaml +44 -44
- endoreg_db/data/lab_value/misc.yaml +30 -30
- endoreg_db/data/lab_value/renal_function.yaml +10 -10
- endoreg_db/data/label/label/data.yaml +62 -62
- endoreg_db/data/label/label-set/data.yaml +17 -17
- endoreg_db/data/label/label-type/data.yaml +6 -6
- endoreg_db/data/medication/anticoagulation.yaml +64 -64
- endoreg_db/data/medication/tah.yaml +69 -69
- endoreg_db/data/medication_indication/anticoagulation.yaml +120 -120
- endoreg_db/data/medication_indication_type/data.yaml +10 -10
- endoreg_db/data/medication_indication_type/thrombembolism.yaml +40 -40
- endoreg_db/data/medication_intake_time/base.yaml +30 -30
- endoreg_db/data/medication_schedule/apixaban.yaml +94 -94
- endoreg_db/data/medication_schedule/ass.yaml +12 -12
- endoreg_db/data/medication_schedule/enoxaparin.yaml +26 -26
- endoreg_db/data/model_type/data.yaml +6 -6
- endoreg_db/data/network_device/data.yaml +17 -0
- endoreg_db/data/network_device_type/data.yaml +8 -0
- endoreg_db/data/patient_lab_sample_type/generic.yaml +5 -5
- endoreg_db/data/pdf_type/data.yaml +28 -28
- endoreg_db/data/product/green_endoscopy_dashboard_Product.yaml +66 -66
- endoreg_db/data/product_group/green_endoscopy_dashboard_ProductGroup.yaml +33 -33
- endoreg_db/data/product_material/green_endoscopy_dashboard_ProductMaterial.yaml +308 -308
- endoreg_db/data/product_weight/green_endoscopy_dashboard_ProductWeight.yaml +88 -88
- endoreg_db/data/profession/data.yaml +70 -70
- endoreg_db/data/reference_product/green_endoscopy_dashboard_ReferenceProduct.yaml +55 -55
- endoreg_db/data/report_reader_flag/ukw-examination-generic.yaml +26 -26
- endoreg_db/data/report_reader_flag/ukw-histology-generic.yaml +19 -19
- endoreg_db/data/resource/green_endoscopy_dashboard_Resource.yaml +15 -15
- endoreg_db/data/transport_route/green_endoscopy_dashboard_TransportRoute.yaml +12 -12
- endoreg_db/data/unit/concentration.yaml +92 -92
- endoreg_db/data/unit/data.yaml +17 -17
- endoreg_db/data/unit/length.yaml +30 -30
- endoreg_db/data/unit/misc.yaml +19 -19
- endoreg_db/data/unit/rate.yaml +5 -5
- endoreg_db/data/unit/time.yaml +12 -12
- endoreg_db/data/unit/volume.yaml +35 -35
- endoreg_db/data/unit/weight.yaml +37 -37
- endoreg_db/data/waste/data.yaml +11 -11
- endoreg_db/forms/__init__.py +2 -2
- endoreg_db/forms/questionnaires/tto_questionnaire.py +23 -23
- endoreg_db/forms/settings/__init__.py +8 -8
- endoreg_db/forms/unit.py +5 -5
- endoreg_db/management/commands/_load_model_template.py +40 -40
- endoreg_db/management/commands/delete_all.py +18 -18
- endoreg_db/management/commands/delete_legacy_images.py +19 -19
- endoreg_db/management/commands/delete_legacy_videos.py +16 -16
- endoreg_db/management/commands/extract_legacy_video_frames.py +18 -18
- endoreg_db/management/commands/fetch_legacy_image_dataset.py +32 -32
- endoreg_db/management/commands/fix_auth_permission.py +20 -20
- endoreg_db/management/commands/import_legacy_images.py +94 -94
- endoreg_db/management/commands/import_legacy_videos.py +76 -76
- endoreg_db/management/commands/load_active_model_data.py +44 -44
- endoreg_db/management/commands/load_ai_model_data.py +44 -44
- endoreg_db/management/commands/load_base_db_data.py +132 -128
- endoreg_db/management/commands/load_center_data.py +42 -42
- endoreg_db/management/commands/load_disease_classification_choices_data.py +40 -40
- endoreg_db/management/commands/load_disease_classification_data.py +40 -40
- endoreg_db/management/commands/load_disease_data.py +39 -39
- endoreg_db/management/commands/load_distribution_data.py +65 -65
- endoreg_db/management/commands/load_endoscope_type_data.py +44 -44
- endoreg_db/management/commands/load_endoscopy_processor_data.py +44 -44
- endoreg_db/management/commands/load_event_data.py +40 -40
- endoreg_db/management/commands/load_examination_data.py +74 -74
- endoreg_db/management/commands/load_g_play_data.py +112 -112
- endoreg_db/management/commands/load_gender_data.py +43 -43
- endoreg_db/management/commands/load_green_endoscopy_wuerzburg_data.py +132 -132
- endoreg_db/management/commands/load_information_source.py +44 -44
- endoreg_db/management/commands/load_lab_value_data.py +49 -49
- endoreg_db/management/commands/load_label_data.py +66 -66
- endoreg_db/management/commands/load_medication_data.py +40 -40
- endoreg_db/management/commands/load_medication_indication_data.py +62 -62
- endoreg_db/management/commands/load_medication_indication_type_data.py +40 -40
- endoreg_db/management/commands/load_medication_intake_time_data.py +40 -40
- endoreg_db/management/commands/load_medication_schedule_data.py +54 -54
- endoreg_db/management/commands/load_network_data.py +49 -0
- endoreg_db/management/commands/load_pdf_type_data.py +60 -60
- endoreg_db/management/commands/load_profession_data.py +43 -43
- endoreg_db/management/commands/load_report_reader_flag.py +45 -45
- endoreg_db/management/commands/load_unit_data.py +45 -45
- endoreg_db/management/commands/load_user_groups.py +28 -28
- endoreg_db/management/commands/register_ai_model.py +65 -65
- endoreg_db/management/commands/reset_celery_schedule.py +9 -9
- endoreg_db/migrations/0001_initial.py +582 -582
- endoreg_db/migrations/0002_rawvideofile.py +26 -26
- endoreg_db/migrations/0003_rawvideofile_frames_required.py +18 -18
- endoreg_db/migrations/0004_rename_hash_rawvideofile_video_hash.py +18 -18
- endoreg_db/migrations/0005_ffmpegmeta_remove_videoimportmeta_center_and_more.py +56 -56
- endoreg_db/migrations/0006_rawvideofile_center_alter_videometa_processor.py +25 -25
- endoreg_db/migrations/0007_rawvideofile_processor.py +19 -19
- endoreg_db/migrations/0008_rename_frames_required_rawvideofile_state_frames_required.py +18 -18
- endoreg_db/migrations/0009_sensitivemeta_rawvideofile_sensitive_meta.py +31 -31
- endoreg_db/migrations/0010_rename_endoscope_serial_number_sensitivemeta_endoscope_sn.py +18 -18
- endoreg_db/migrations/0011_rawvideofile_state_sensitive_data_retrieved.py +18 -18
- endoreg_db/migrations/0012_rawvideofile_prediction_dir_and_more.py +109 -109
- endoreg_db/migrations/0013_rawpdffile.py +31 -31
- endoreg_db/migrations/0014_pdftype_alter_rawpdffile_file_pdfmeta.py +38 -38
- endoreg_db/migrations/0015_rename_report_processed_rawpdffile_state_report_processed_and_more.py +31 -31
- endoreg_db/migrations/0016_rawpdffile_state_report_processing_required.py +18 -18
- endoreg_db/migrations/0017_firstname_lastname_center_first_names_and_more.py +37 -37
- endoreg_db/migrations/0018_reportreaderflag_reportreaderconfig.py +37 -37
- endoreg_db/migrations/0019_pdftype_cut_off_above_lines_and_more.py +42 -42
- endoreg_db/migrations/0020_rename_endoscopy_info_line_pdftype_endoscope_info_line.py +18 -18
- endoreg_db/migrations/0021_alter_pdftype_endoscope_info_line.py +19 -19
- endoreg_db/migrations/0022_alter_pdftype_endoscope_info_line.py +19 -19
- endoreg_db/migrations/0023_ttoquestionnaire_alter_pdftype_endoscope_info_line.py +59 -59
- endoreg_db/migrations/0024_remove_ttoquestionnaire_infections_and_more.py +27 -27
- endoreg_db/migrations/0025_event_alter_rawpdffile_file_patientevent.py +42 -42
- endoreg_db/migrations/0026_disease_diseaseclassification_and_more.py +166 -166
- endoreg_db/migrations/0027_labvalue_abbreviation_labvalue_default_normal_range_and_more.py +38 -38
- endoreg_db/migrations/0028_alter_unit_abbreviation.py +18 -18
- endoreg_db/migrations/0029_medicationintaketime_and_more.py +75 -75
- endoreg_db/migrations/0030_medicationindicationtype_and_more.py +101 -101
- endoreg_db/migrations/0031_rename_adapt_to_liver_function_medication_adapt_to_age_and_more.py +38 -38
- endoreg_db/migrations/0032_alter_medicationschedule_therapy_duration_d.py +18 -18
- endoreg_db/migrations/0033_medicationindication_sources.py +18 -18
- endoreg_db/migrations/0034_alter_rawpdffile_file.py +20 -20
- endoreg_db/migrations/0035_alter_medicationindication_sources.py +18 -18
- endoreg_db/migrations/0036_alter_rawpdffile_file.py +20 -20
- endoreg_db/migrations/0037_alter_medicationindication_sources.py +18 -18
- endoreg_db/migrations/0038_emissionfactor_material_product_productgroup_and_more.py +164 -164
- endoreg_db/migrations/0039_referenceproduct_name.py +19 -19
- endoreg_db/migrations/0040_quizanswertype_quizquestiontype_quizquestion_and_more.py +50 -50
- endoreg_db/migrations/0041_gender_patientmedication_medication_indication_and_more.py +40 -40
- endoreg_db/migrations/0042_casetemplateruletype_casetemplaterulevalue_and_more.py +74 -74
- endoreg_db/migrations/0043_casetemplatetype_name_de_casetemplatetype_name_en.py +23 -23
- endoreg_db/migrations/0044_casetemplateruletype_name_de_and_more.py +23 -23
- endoreg_db/migrations/0045_casetemplaterulevalue_value_type.py +19 -19
- endoreg_db/migrations/0046_casetemplaterulevalue_target_field.py +18 -18
- endoreg_db/migrations/0047_casetemplaterule_target_model.py +18 -18
- endoreg_db/migrations/0048_remove_casetemplaterule_chained_rules_and_more.py +22 -22
- endoreg_db/migrations/0049_remove_casetemplaterule_rule_values.py +17 -17
- endoreg_db/migrations/0050_casetemplaterule_rule_values.py +18 -18
- endoreg_db/migrations/0051_remove_casetemplaterule_calling_rules_and_more.py +27 -27
- endoreg_db/migrations/0052_rename_case_template_type_casetemplate_template_type.py +18 -18
- endoreg_db/migrations/0053_patientlabsampletype_patientlabsample_and_more.py +38 -38
- endoreg_db/migrations/0054_multiplecategoricalvaluedistribution_and_more.py +69 -69
- endoreg_db/migrations/0055_remove_casetemplaterule_rule_values_and_more.py +59 -59
- endoreg_db/migrations/0056_datevaluedistribution_and_more.py +32 -32
- endoreg_db/migrations/0057_remove_datevaluedistribution_max_date_and_more.py +72 -72
- endoreg_db/migrations/0058_datevaluedistribution_description_and_more.py +28 -28
- endoreg_db/migrations/0059_casetemplaterule_rule_values.py +18 -18
- endoreg_db/migrations/0060_labvalue__default_date_value_distribution_and_more.py +44 -44
- endoreg_db/migrations/0061_remove_patientlabvalue_date_patientlabvalue_datetime.py +24 -24
- endoreg_db/migrations/0062_labvalue_numeric_precision.py +18 -18
- endoreg_db/migrations/0063_alter_labvalue_numeric_precision.py +18 -18
- endoreg_db/migrations/0064_casetemplaterule_extra_parameters_and_more.py +23 -23
- endoreg_db/migrations/0065_rename__date_value_distribution_casetemplaterule_date_value_distribution_and_more.py +58 -58
- endoreg_db/migrations/0066_alter_patientlabvalue_patient_and_more.py +29 -29
- endoreg_db/migrations/0067_alter_medicationindication_indication_type.py +19 -19
- endoreg_db/migrations/0068_networkdevicetype_networkdevicetypemanager_and_more.py +57 -0
- endoreg_db/models/__init__.py +75 -74
- endoreg_db/models/ai_model/__init__.py +3 -3
- endoreg_db/models/ai_model/active_model.py +9 -9
- endoreg_db/models/ai_model/model_meta.py +24 -24
- endoreg_db/models/ai_model/model_type.py +25 -25
- endoreg_db/models/ai_model/utils.py +8 -8
- endoreg_db/models/annotation/__init__.py +1 -1
- endoreg_db/models/annotation/binary_classification_annotation_task.py +80 -80
- endoreg_db/models/annotation/image_classification.py +26 -26
- endoreg_db/models/case_template/__init__.py +5 -5
- endoreg_db/models/case_template/case_template.py +81 -81
- endoreg_db/models/case_template/case_template_rule.py +276 -276
- endoreg_db/models/case_template/case_template_rule_value.py +73 -73
- endoreg_db/models/case_template/case_template_type.py +27 -27
- endoreg_db/models/center/__init__.py +4 -4
- endoreg_db/models/center/center.py +24 -24
- endoreg_db/models/center/center_product.py +33 -33
- endoreg_db/models/center/center_resource.py +18 -18
- endoreg_db/models/center/center_waste.py +10 -10
- endoreg_db/models/data_file/__init__.py +5 -5
- endoreg_db/models/data_file/base_classes/__init__.py +2 -2
- endoreg_db/models/data_file/base_classes/abstract_frame.py +50 -50
- endoreg_db/models/data_file/base_classes/abstract_video.py +200 -200
- endoreg_db/models/data_file/frame.py +45 -45
- endoreg_db/models/data_file/import_classes/__init__.py +31 -31
- endoreg_db/models/data_file/import_classes/processing_functions/__init__.py +34 -34
- endoreg_db/models/data_file/import_classes/processing_functions/pdf.py +28 -28
- endoreg_db/models/data_file/import_classes/processing_functions/video.py +260 -260
- endoreg_db/models/data_file/import_classes/raw_pdf.py +188 -188
- endoreg_db/models/data_file/import_classes/raw_video.py +343 -343
- endoreg_db/models/data_file/metadata/__init__.py +3 -3
- endoreg_db/models/data_file/metadata/pdf_meta.py +70 -70
- endoreg_db/models/data_file/metadata/sensitive_meta.py +31 -31
- endoreg_db/models/data_file/metadata/video_meta.py +132 -132
- endoreg_db/models/data_file/report_file.py +89 -89
- endoreg_db/models/data_file/video/__init__.py +6 -6
- endoreg_db/models/data_file/video/import_meta.py +25 -25
- endoreg_db/models/data_file/video/video.py +25 -25
- endoreg_db/models/data_file/video_segment.py +107 -107
- endoreg_db/models/disease.py +55 -55
- endoreg_db/models/emission/emission_factor.py +19 -19
- endoreg_db/models/event.py +21 -21
- endoreg_db/models/examination/__init__.py +3 -3
- endoreg_db/models/examination/examination.py +26 -26
- endoreg_db/models/examination/examination_time.py +27 -27
- endoreg_db/models/examination/examination_time_type.py +24 -24
- endoreg_db/models/examination/examination_type.py +18 -18
- endoreg_db/models/hardware/__init__.py +1 -1
- endoreg_db/models/hardware/endoscope.py +44 -44
- endoreg_db/models/hardware/endoscopy_processor.py +143 -143
- endoreg_db/models/information_source.py +29 -29
- endoreg_db/models/label/label.py +84 -84
- endoreg_db/models/laboratory/lab_value.py +102 -102
- endoreg_db/models/legacy_data/__init__.py +3 -3
- endoreg_db/models/legacy_data/image.py +34 -34
- endoreg_db/models/medication/medication.py +148 -148
- endoreg_db/models/network/__init__.py +2 -0
- endoreg_db/models/network/network_device.py +27 -0
- endoreg_db/models/network/network_device_type.py +23 -0
- endoreg_db/models/other/__init__.py +4 -4
- endoreg_db/models/other/distribution.py +215 -215
- endoreg_db/models/other/material.py +16 -16
- endoreg_db/models/other/resource.py +17 -17
- endoreg_db/models/other/transport_route.py +20 -20
- endoreg_db/models/other/waste.py +20 -20
- endoreg_db/models/patient_examination/__init__.py +35 -35
- endoreg_db/models/permissions/__init__.py +44 -44
- endoreg_db/models/persons/__init__.py +6 -6
- endoreg_db/models/persons/examiner/__init__.py +1 -1
- endoreg_db/models/persons/examiner/examiner.py +15 -15
- endoreg_db/models/persons/examiner/examiner_type.py +1 -1
- endoreg_db/models/persons/first_name.py +17 -17
- endoreg_db/models/persons/gender.py +22 -22
- endoreg_db/models/persons/last_name.py +19 -19
- endoreg_db/models/persons/patient/__init__.py +7 -7
- endoreg_db/models/persons/patient/case/case.py +30 -30
- endoreg_db/models/persons/patient/patient.py +216 -216
- endoreg_db/models/persons/patient/patient_disease.py +16 -16
- endoreg_db/models/persons/patient/patient_event.py +22 -22
- endoreg_db/models/persons/patient/patient_lab_sample.py +106 -106
- endoreg_db/models/persons/patient/patient_lab_value.py +176 -176
- endoreg_db/models/persons/patient/patient_medication.py +43 -43
- endoreg_db/models/persons/patient/patient_medication_schedule.py +27 -27
- endoreg_db/models/persons/person.py +31 -31
- endoreg_db/models/persons/portal_user_information.py +27 -27
- endoreg_db/models/prediction/__init__.py +1 -1
- endoreg_db/models/prediction/image_classification.py +37 -37
- endoreg_db/models/prediction/video_prediction_meta.py +244 -244
- endoreg_db/models/product/__init__.py +4 -4
- endoreg_db/models/product/product.py +97 -97
- endoreg_db/models/product/product_group.py +19 -19
- endoreg_db/models/product/product_material.py +24 -24
- endoreg_db/models/product/product_weight.py +26 -26
- endoreg_db/models/product/reference_product.py +99 -99
- endoreg_db/models/questionnaires/__init__.py +114 -114
- endoreg_db/models/quiz/__init__.py +1 -1
- endoreg_db/models/quiz/quiz_answer.py +41 -41
- endoreg_db/models/quiz/quiz_question.py +54 -54
- endoreg_db/models/report_reader/__init__.py +1 -1
- endoreg_db/models/report_reader/report_reader_config.py +53 -53
- endoreg_db/models/report_reader/report_reader_flag.py +19 -19
- endoreg_db/models/rules/__init__.py +4 -4
- endoreg_db/models/rules/rule.py +23 -23
- endoreg_db/models/rules/rule_applicator.py +224 -224
- endoreg_db/models/rules/rule_attribute_dtype.py +18 -18
- endoreg_db/models/rules/rule_type.py +21 -21
- endoreg_db/models/rules/ruleset.py +19 -19
- endoreg_db/models/unit.py +21 -21
- endoreg_db/queries/__init__.py +4 -4
- endoreg_db/queries/annotations/__init__.py +2 -2
- endoreg_db/queries/annotations/legacy.py +159 -159
- endoreg_db/queries/get/__init__.py +5 -5
- endoreg_db/queries/get/center.py +42 -42
- endoreg_db/queries/get/model.py +13 -13
- endoreg_db/queries/get/patient.py +14 -14
- endoreg_db/queries/get/patient_examination.py +20 -20
- endoreg_db/queries/get/report_file.py +33 -33
- endoreg_db/queries/get/video.py +31 -31
- endoreg_db/serializers/__init__.py +9 -9
- endoreg_db/serializers/ai_model.py +18 -18
- endoreg_db/serializers/annotation.py +17 -17
- endoreg_db/serializers/center.py +11 -11
- endoreg_db/serializers/examination.py +32 -32
- endoreg_db/serializers/frame.py +13 -13
- endoreg_db/serializers/hardware.py +20 -20
- endoreg_db/serializers/label.py +22 -22
- endoreg_db/serializers/patient.py +10 -10
- endoreg_db/serializers/prediction.py +15 -15
- endoreg_db/serializers/report_file.py +7 -7
- endoreg_db/serializers/video.py +27 -27
- endoreg_db/tests.py +3 -3
- endoreg_db/utils/cropping.py +28 -28
- endoreg_db/utils/dataloader.py +92 -92
- endoreg_db/utils/file_operations.py +30 -30
- endoreg_db/utils/hashs.py +33 -33
- endoreg_db/utils/legacy_ocr.py +201 -201
- endoreg_db/utils/ocr.py +197 -197
- endoreg_db/utils/uuid.py +4 -4
- endoreg_db/utils/video_metadata.py +87 -87
- endoreg_db/views.py +3 -3
- {endoreg_db-0.3.6.dist-info → endoreg_db-0.3.8.dist-info}/LICENSE +674 -674
- {endoreg_db-0.3.6.dist-info → endoreg_db-0.3.8.dist-info}/METADATA +3 -1
- endoreg_db-0.3.8.dist-info/RECORD +367 -0
- {endoreg_db-0.3.6.dist-info → endoreg_db-0.3.8.dist-info}/WHEEL +1 -1
- endoreg_db-0.3.6.dist-info/RECORD +0 -357
|
@@ -1,44 +1,44 @@
|
|
|
1
|
-
from django.contrib.contenttypes.models import ContentType
|
|
2
|
-
from django.contrib.auth.models import Permission
|
|
3
|
-
from endoreg_db.models import * # Import your models here
|
|
4
|
-
from django.db import transaction
|
|
5
|
-
|
|
6
|
-
# Step 1: Define model to category mappings
|
|
7
|
-
# Assuming every model class name is unique across your entire Django project
|
|
8
|
-
model_categories = {
|
|
9
|
-
'SensitiveModel1': 'sensitive',
|
|
10
|
-
'SensitiveModel2': 'sensitive',
|
|
11
|
-
'DevelopmentModel1': 'development',
|
|
12
|
-
'DevelopmentModel2': 'development',
|
|
13
|
-
# Add all models you have, mapping them to either 'sensitive', 'development', or 'all'
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
# Step 2: Define permissions for each category
|
|
17
|
-
category_permissions = {
|
|
18
|
-
'sensitive': ['view', 'edit', 'delete'],
|
|
19
|
-
'development': ['view', 'edit'],
|
|
20
|
-
'all': ['view'],
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
@transaction.atomic
|
|
24
|
-
def create_permissions_for_all_models():
|
|
25
|
-
for model_class_name, category in model_categories.items():
|
|
26
|
-
model_class = globals().get(model_class_name)
|
|
27
|
-
if model_class is None:
|
|
28
|
-
print(f"Model {model_class_name} not found.")
|
|
29
|
-
continue
|
|
30
|
-
|
|
31
|
-
content_type = ContentType.objects.get_for_model(model_class)
|
|
32
|
-
permissions = category_permissions.get(category, [])
|
|
33
|
-
|
|
34
|
-
for permission_codename in permissions:
|
|
35
|
-
permission_name = f"Can {permission_codename} {model_class_name}"
|
|
36
|
-
permission, created = Permission.objects.get_or_create(
|
|
37
|
-
codename=f"{permission_codename}_{model_class_name.lower()}",
|
|
38
|
-
defaults={'name': permission_name, 'content_type': content_type},
|
|
39
|
-
)
|
|
40
|
-
if created:
|
|
41
|
-
print(f"Created permission: {permission_name}")
|
|
42
|
-
|
|
43
|
-
# Run the function to create and assign permissions based on categories
|
|
44
|
-
create_permissions_for_all_models()
|
|
1
|
+
from django.contrib.contenttypes.models import ContentType
|
|
2
|
+
from django.contrib.auth.models import Permission
|
|
3
|
+
from endoreg_db.models import * # Import your models here
|
|
4
|
+
from django.db import transaction
|
|
5
|
+
|
|
6
|
+
# Step 1: Define model to category mappings
|
|
7
|
+
# Assuming every model class name is unique across your entire Django project
|
|
8
|
+
model_categories = {
|
|
9
|
+
'SensitiveModel1': 'sensitive',
|
|
10
|
+
'SensitiveModel2': 'sensitive',
|
|
11
|
+
'DevelopmentModel1': 'development',
|
|
12
|
+
'DevelopmentModel2': 'development',
|
|
13
|
+
# Add all models you have, mapping them to either 'sensitive', 'development', or 'all'
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
# Step 2: Define permissions for each category
|
|
17
|
+
category_permissions = {
|
|
18
|
+
'sensitive': ['view', 'edit', 'delete'],
|
|
19
|
+
'development': ['view', 'edit'],
|
|
20
|
+
'all': ['view'],
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
@transaction.atomic
|
|
24
|
+
def create_permissions_for_all_models():
|
|
25
|
+
for model_class_name, category in model_categories.items():
|
|
26
|
+
model_class = globals().get(model_class_name)
|
|
27
|
+
if model_class is None:
|
|
28
|
+
print(f"Model {model_class_name} not found.")
|
|
29
|
+
continue
|
|
30
|
+
|
|
31
|
+
content_type = ContentType.objects.get_for_model(model_class)
|
|
32
|
+
permissions = category_permissions.get(category, [])
|
|
33
|
+
|
|
34
|
+
for permission_codename in permissions:
|
|
35
|
+
permission_name = f"Can {permission_codename} {model_class_name}"
|
|
36
|
+
permission, created = Permission.objects.get_or_create(
|
|
37
|
+
codename=f"{permission_codename}_{model_class_name.lower()}",
|
|
38
|
+
defaults={'name': permission_name, 'content_type': content_type},
|
|
39
|
+
)
|
|
40
|
+
if created:
|
|
41
|
+
print(f"Created permission: {permission_name}")
|
|
42
|
+
|
|
43
|
+
# Run the function to create and assign permissions based on categories
|
|
44
|
+
create_permissions_for_all_models()
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
from .gender import Gender
|
|
2
|
-
from .person import Person
|
|
3
|
-
from .patient import *
|
|
4
|
-
from .examiner import Examiner, ExaminerSerializer
|
|
5
|
-
from .portal_user_information import PortalUserInfo, Profession
|
|
6
|
-
from .first_name import FirstName
|
|
1
|
+
from .gender import Gender
|
|
2
|
+
from .person import Person
|
|
3
|
+
from .patient import *
|
|
4
|
+
from .examiner import Examiner, ExaminerSerializer
|
|
5
|
+
from .portal_user_information import PortalUserInfo, Profession
|
|
6
|
+
from .first_name import FirstName
|
|
7
7
|
from .last_name import LastName
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
from .examiner import Examiner, ExaminerSerializer
|
|
1
|
+
from .examiner import Examiner, ExaminerSerializer
|
|
2
2
|
# from .examiner_type import ExaminerType
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
from django.db import models
|
|
2
|
-
from ..person import Person
|
|
3
|
-
from rest_framework import serializers
|
|
4
|
-
|
|
5
|
-
class Examiner(Person):
|
|
6
|
-
center = models.ForeignKey('Center', on_delete=models.CASCADE, blank=True, null=True)
|
|
7
|
-
|
|
8
|
-
def __str__(self):
|
|
9
|
-
return self.first_name + " " + self.last_name
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
class ExaminerSerializer(serializers.ModelSerializer):
|
|
13
|
-
|
|
14
|
-
class Meta:
|
|
15
|
-
model = Examiner
|
|
1
|
+
from django.db import models
|
|
2
|
+
from ..person import Person
|
|
3
|
+
from rest_framework import serializers
|
|
4
|
+
|
|
5
|
+
class Examiner(Person):
|
|
6
|
+
center = models.ForeignKey('Center', on_delete=models.CASCADE, blank=True, null=True)
|
|
7
|
+
|
|
8
|
+
def __str__(self):
|
|
9
|
+
return self.first_name + " " + self.last_name
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class ExaminerSerializer(serializers.ModelSerializer):
|
|
13
|
+
|
|
14
|
+
class Meta:
|
|
15
|
+
model = Examiner
|
|
16
16
|
fields = '__all__'
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
from .examiner import Examiner
|
|
1
|
+
from .examiner import Examiner
|
|
2
2
|
# from .examiner_type import ExaminerType
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
# class to represent unique first-names
|
|
2
|
-
# name attribute is natural key
|
|
3
|
-
|
|
4
|
-
from django.db import models
|
|
5
|
-
|
|
6
|
-
class FirstNameManager(models.Manager):
|
|
7
|
-
def get_by_natural_key(self, name):
|
|
8
|
-
return self.get(name=name)
|
|
9
|
-
|
|
10
|
-
class FirstName(models.Model):
|
|
11
|
-
objects = FirstNameManager()
|
|
12
|
-
name = models.CharField(max_length=255, unique=True)
|
|
13
|
-
|
|
14
|
-
def natural_key(self):
|
|
15
|
-
return (self.name,)
|
|
16
|
-
|
|
17
|
-
def __str__(self):
|
|
1
|
+
# class to represent unique first-names
|
|
2
|
+
# name attribute is natural key
|
|
3
|
+
|
|
4
|
+
from django.db import models
|
|
5
|
+
|
|
6
|
+
class FirstNameManager(models.Manager):
|
|
7
|
+
def get_by_natural_key(self, name):
|
|
8
|
+
return self.get(name=name)
|
|
9
|
+
|
|
10
|
+
class FirstName(models.Model):
|
|
11
|
+
objects = FirstNameManager()
|
|
12
|
+
name = models.CharField(max_length=255, unique=True)
|
|
13
|
+
|
|
14
|
+
def natural_key(self):
|
|
15
|
+
return (self.name,)
|
|
16
|
+
|
|
17
|
+
def __str__(self):
|
|
18
18
|
return self.name
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
from django.db import models
|
|
2
|
-
|
|
3
|
-
class GenderManager(models.Manager):
|
|
4
|
-
def get_by_natural_key(self, name):
|
|
5
|
-
return self.get(name=name)
|
|
6
|
-
|
|
7
|
-
class Gender(models.Model):
|
|
8
|
-
"""A class representing gender."""
|
|
9
|
-
objects = GenderManager()
|
|
10
|
-
|
|
11
|
-
name = models.CharField(max_length=255)
|
|
12
|
-
name_de = models.CharField(max_length=255, null=True)
|
|
13
|
-
name_en = models.CharField(max_length=255, null=True)
|
|
14
|
-
abbreviation = models.CharField(max_length=255, null=True)
|
|
15
|
-
description = models.TextField(blank=True, null=True)
|
|
16
|
-
|
|
17
|
-
def natural_key(self):
|
|
18
|
-
return (self.name,)
|
|
19
|
-
|
|
20
|
-
def __str__(self):
|
|
21
|
-
return self.name
|
|
22
|
-
|
|
1
|
+
from django.db import models
|
|
2
|
+
|
|
3
|
+
class GenderManager(models.Manager):
|
|
4
|
+
def get_by_natural_key(self, name):
|
|
5
|
+
return self.get(name=name)
|
|
6
|
+
|
|
7
|
+
class Gender(models.Model):
|
|
8
|
+
"""A class representing gender."""
|
|
9
|
+
objects = GenderManager()
|
|
10
|
+
|
|
11
|
+
name = models.CharField(max_length=255)
|
|
12
|
+
name_de = models.CharField(max_length=255, null=True)
|
|
13
|
+
name_en = models.CharField(max_length=255, null=True)
|
|
14
|
+
abbreviation = models.CharField(max_length=255, null=True)
|
|
15
|
+
description = models.TextField(blank=True, null=True)
|
|
16
|
+
|
|
17
|
+
def natural_key(self):
|
|
18
|
+
return (self.name,)
|
|
19
|
+
|
|
20
|
+
def __str__(self):
|
|
21
|
+
return self.name
|
|
22
|
+
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
# class to represent unique last_names
|
|
2
|
-
# name attribute is natural key
|
|
3
|
-
from django.db import models
|
|
4
|
-
|
|
5
|
-
class LastNameManager(models.Manager):
|
|
6
|
-
def get_by_natural_key(self, name):
|
|
7
|
-
return self.get(name=name)
|
|
8
|
-
|
|
9
|
-
class LastName(models.Model):
|
|
10
|
-
objects = LastNameManager()
|
|
11
|
-
name = models.CharField(max_length=255, unique=True)
|
|
12
|
-
|
|
13
|
-
def natural_key(self):
|
|
14
|
-
return (self.name,)
|
|
15
|
-
|
|
16
|
-
def __str__(self):
|
|
17
|
-
return self.name
|
|
18
|
-
|
|
19
|
-
# Path: endoreg_db/models/persons/first_name.py
|
|
1
|
+
# class to represent unique last_names
|
|
2
|
+
# name attribute is natural key
|
|
3
|
+
from django.db import models
|
|
4
|
+
|
|
5
|
+
class LastNameManager(models.Manager):
|
|
6
|
+
def get_by_natural_key(self, name):
|
|
7
|
+
return self.get(name=name)
|
|
8
|
+
|
|
9
|
+
class LastName(models.Model):
|
|
10
|
+
objects = LastNameManager()
|
|
11
|
+
name = models.CharField(max_length=255, unique=True)
|
|
12
|
+
|
|
13
|
+
def natural_key(self):
|
|
14
|
+
return (self.name,)
|
|
15
|
+
|
|
16
|
+
def __str__(self):
|
|
17
|
+
return self.name
|
|
18
|
+
|
|
19
|
+
# Path: endoreg_db/models/persons/first_name.py
|
|
20
20
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
from .patient import Patient, PatientForm
|
|
2
|
-
from .patient_event import PatientEvent
|
|
3
|
-
from .patient_disease import PatientDisease
|
|
4
|
-
from .patient_lab_sample import PatientLabSample, PatientLabSampleType
|
|
5
|
-
from .patient_lab_value import PatientLabValue
|
|
6
|
-
from .patient_medication import PatientMedication
|
|
7
|
-
from .patient_medication_schedule import PatientMedicationSchedule
|
|
1
|
+
from .patient import Patient, PatientForm
|
|
2
|
+
from .patient_event import PatientEvent
|
|
3
|
+
from .patient_disease import PatientDisease
|
|
4
|
+
from .patient_lab_sample import PatientLabSample, PatientLabSampleType
|
|
5
|
+
from .patient_lab_value import PatientLabValue
|
|
6
|
+
from .patient_medication import PatientMedication
|
|
7
|
+
from .patient_medication_schedule import PatientMedicationSchedule
|
|
8
8
|
from .case import *
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
from django.db import models
|
|
2
|
-
|
|
3
|
-
class Case(models.Model):
|
|
4
|
-
"""
|
|
5
|
-
A class representing a case.
|
|
6
|
-
|
|
7
|
-
Attributes:
|
|
8
|
-
name (str): The name of the case.
|
|
9
|
-
description (str): A description of the case.
|
|
10
|
-
case_template (CaseTemplate): The case template of the case.
|
|
11
|
-
patient (Patient): The patient of the case.
|
|
12
|
-
start_date (datetime): The start date of the case.
|
|
13
|
-
end_date (datetime): The end date of the case.
|
|
14
|
-
is_active (bool): A flag indicating whether the case is active.
|
|
15
|
-
is_closed (bool): A flag indicating whether the case is closed.
|
|
16
|
-
is_deleted (bool): A flag indicating whether the case is deleted.
|
|
17
|
-
created_at (datetime): The creation date of the case.
|
|
18
|
-
updated_at (datetime): The last update date of the case.
|
|
19
|
-
|
|
20
|
-
"""
|
|
21
|
-
start_date = models.DateTimeField()
|
|
22
|
-
end_date = models.DateTimeField(null=True)
|
|
23
|
-
is_active = models.BooleanField(default=True)
|
|
24
|
-
is_closed = models.BooleanField(default=False)
|
|
25
|
-
is_deleted = models.BooleanField(default=False)
|
|
26
|
-
created_at = models.DateTimeField(auto_now_add=True)
|
|
27
|
-
updated_at = models.DateTimeField(auto_now=True)
|
|
28
|
-
|
|
29
|
-
def __str__(self):
|
|
30
|
-
return self.name
|
|
1
|
+
from django.db import models
|
|
2
|
+
|
|
3
|
+
class Case(models.Model):
|
|
4
|
+
"""
|
|
5
|
+
A class representing a case.
|
|
6
|
+
|
|
7
|
+
Attributes:
|
|
8
|
+
name (str): The name of the case.
|
|
9
|
+
description (str): A description of the case.
|
|
10
|
+
case_template (CaseTemplate): The case template of the case.
|
|
11
|
+
patient (Patient): The patient of the case.
|
|
12
|
+
start_date (datetime): The start date of the case.
|
|
13
|
+
end_date (datetime): The end date of the case.
|
|
14
|
+
is_active (bool): A flag indicating whether the case is active.
|
|
15
|
+
is_closed (bool): A flag indicating whether the case is closed.
|
|
16
|
+
is_deleted (bool): A flag indicating whether the case is deleted.
|
|
17
|
+
created_at (datetime): The creation date of the case.
|
|
18
|
+
updated_at (datetime): The last update date of the case.
|
|
19
|
+
|
|
20
|
+
"""
|
|
21
|
+
start_date = models.DateTimeField()
|
|
22
|
+
end_date = models.DateTimeField(null=True)
|
|
23
|
+
is_active = models.BooleanField(default=True)
|
|
24
|
+
is_closed = models.BooleanField(default=False)
|
|
25
|
+
is_deleted = models.BooleanField(default=False)
|
|
26
|
+
created_at = models.DateTimeField(auto_now_add=True)
|
|
27
|
+
updated_at = models.DateTimeField(auto_now=True)
|
|
28
|
+
|
|
29
|
+
def __str__(self):
|
|
30
|
+
return self.name
|