endoreg-db 0.3.11__py3-none-any.whl → 0.4.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- endoreg_db/migrations/0001_initial.py +1020 -35
- {endoreg_db-0.3.11.dist-info → endoreg_db-0.4.0.dist-info}/METADATA +1 -1
- {endoreg_db-0.3.11.dist-info → endoreg_db-0.4.0.dist-info}/RECORD +5 -76
- endoreg_db/migrations/0002_rawvideofile.py +0 -26
- endoreg_db/migrations/0003_rawvideofile_frames_required.py +0 -18
- endoreg_db/migrations/0004_rename_hash_rawvideofile_video_hash.py +0 -18
- endoreg_db/migrations/0005_ffmpegmeta_remove_videoimportmeta_center_and_more.py +0 -56
- endoreg_db/migrations/0006_rawvideofile_center_alter_videometa_processor.py +0 -25
- endoreg_db/migrations/0007_rawvideofile_processor.py +0 -19
- endoreg_db/migrations/0008_rename_frames_required_rawvideofile_state_frames_required.py +0 -18
- endoreg_db/migrations/0009_sensitivemeta_rawvideofile_sensitive_meta.py +0 -31
- endoreg_db/migrations/0010_rename_endoscope_serial_number_sensitivemeta_endoscope_sn.py +0 -18
- endoreg_db/migrations/0011_rawvideofile_state_sensitive_data_retrieved.py +0 -18
- endoreg_db/migrations/0012_rawvideofile_prediction_dir_and_more.py +0 -109
- endoreg_db/migrations/0013_rawpdffile.py +0 -31
- endoreg_db/migrations/0014_pdftype_alter_rawpdffile_file_pdfmeta.py +0 -38
- endoreg_db/migrations/0015_rename_report_processed_rawpdffile_state_report_processed_and_more.py +0 -31
- endoreg_db/migrations/0016_rawpdffile_state_report_processing_required.py +0 -18
- endoreg_db/migrations/0017_firstname_lastname_center_first_names_and_more.py +0 -37
- endoreg_db/migrations/0018_reportreaderflag_reportreaderconfig.py +0 -37
- endoreg_db/migrations/0019_pdftype_cut_off_above_lines_and_more.py +0 -42
- endoreg_db/migrations/0020_rename_endoscopy_info_line_pdftype_endoscope_info_line.py +0 -18
- endoreg_db/migrations/0021_alter_pdftype_endoscope_info_line.py +0 -19
- endoreg_db/migrations/0022_alter_pdftype_endoscope_info_line.py +0 -19
- endoreg_db/migrations/0023_ttoquestionnaire_alter_pdftype_endoscope_info_line.py +0 -59
- endoreg_db/migrations/0024_remove_ttoquestionnaire_infections_and_more.py +0 -27
- endoreg_db/migrations/0025_event_alter_rawpdffile_file_patientevent.py +0 -42
- endoreg_db/migrations/0026_disease_diseaseclassification_and_more.py +0 -166
- endoreg_db/migrations/0027_labvalue_abbreviation_labvalue_default_normal_range_and_more.py +0 -38
- endoreg_db/migrations/0028_alter_unit_abbreviation.py +0 -18
- endoreg_db/migrations/0029_medicationintaketime_and_more.py +0 -75
- endoreg_db/migrations/0030_medicationindicationtype_and_more.py +0 -101
- endoreg_db/migrations/0031_rename_adapt_to_liver_function_medication_adapt_to_age_and_more.py +0 -38
- endoreg_db/migrations/0032_alter_medicationschedule_therapy_duration_d.py +0 -18
- endoreg_db/migrations/0033_medicationindication_sources.py +0 -18
- endoreg_db/migrations/0034_alter_rawpdffile_file.py +0 -20
- endoreg_db/migrations/0035_alter_medicationindication_sources.py +0 -18
- endoreg_db/migrations/0036_alter_rawpdffile_file.py +0 -20
- endoreg_db/migrations/0037_alter_medicationindication_sources.py +0 -18
- endoreg_db/migrations/0038_emissionfactor_material_product_productgroup_and_more.py +0 -164
- endoreg_db/migrations/0039_referenceproduct_name.py +0 -19
- endoreg_db/migrations/0040_quizanswertype_quizquestiontype_quizquestion_and_more.py +0 -50
- endoreg_db/migrations/0041_gender_patientmedication_medication_indication_and_more.py +0 -40
- endoreg_db/migrations/0042_casetemplateruletype_casetemplaterulevalue_and_more.py +0 -74
- endoreg_db/migrations/0043_casetemplatetype_name_de_casetemplatetype_name_en.py +0 -23
- endoreg_db/migrations/0044_casetemplateruletype_name_de_and_more.py +0 -23
- endoreg_db/migrations/0045_casetemplaterulevalue_value_type.py +0 -19
- endoreg_db/migrations/0046_casetemplaterulevalue_target_field.py +0 -18
- endoreg_db/migrations/0047_casetemplaterule_target_model.py +0 -18
- endoreg_db/migrations/0048_remove_casetemplaterule_chained_rules_and_more.py +0 -22
- endoreg_db/migrations/0049_remove_casetemplaterule_rule_values.py +0 -17
- endoreg_db/migrations/0050_casetemplaterule_rule_values.py +0 -18
- endoreg_db/migrations/0051_remove_casetemplaterule_calling_rules_and_more.py +0 -27
- endoreg_db/migrations/0052_rename_case_template_type_casetemplate_template_type.py +0 -18
- endoreg_db/migrations/0053_patientlabsampletype_patientlabsample_and_more.py +0 -38
- endoreg_db/migrations/0054_multiplecategoricalvaluedistribution_and_more.py +0 -69
- endoreg_db/migrations/0055_remove_casetemplaterule_rule_values_and_more.py +0 -59
- endoreg_db/migrations/0056_datevaluedistribution_and_more.py +0 -32
- endoreg_db/migrations/0057_remove_datevaluedistribution_max_date_and_more.py +0 -72
- endoreg_db/migrations/0058_datevaluedistribution_description_and_more.py +0 -28
- endoreg_db/migrations/0059_casetemplaterule_rule_values.py +0 -18
- endoreg_db/migrations/0060_labvalue__default_date_value_distribution_and_more.py +0 -44
- endoreg_db/migrations/0061_remove_patientlabvalue_date_patientlabvalue_datetime.py +0 -24
- endoreg_db/migrations/0062_labvalue_numeric_precision.py +0 -18
- endoreg_db/migrations/0063_alter_labvalue_numeric_precision.py +0 -18
- endoreg_db/migrations/0064_casetemplaterule_extra_parameters_and_more.py +0 -23
- endoreg_db/migrations/0065_rename__date_value_distribution_casetemplaterule_date_value_distribution_and_more.py +0 -58
- endoreg_db/migrations/0066_alter_patientlabvalue_patient_and_more.py +0 -29
- endoreg_db/migrations/0067_alter_medicationindication_indication_type.py +0 -19
- endoreg_db/migrations/0068_networkdevicetype_networkdevicetypemanager_and_more.py +0 -57
- endoreg_db/migrations/0069_delete_networkdevicetypemanager_networkdevice_online.py +0 -21
- endoreg_db/migrations/0070_logtype_alter_rawpdffile_file_networkdevicelogentry_and_more.py +0 -71
- endoreg_db/migrations/0071_aglservicelogentry.py +0 -33
- endoreg_db/migrations/0072_alter_rawpdffile_file.py +0 -20
- {endoreg_db-0.3.11.dist-info → endoreg_db-0.4.0.dist-info}/LICENSE +0 -0
- {endoreg_db-0.3.11.dist-info → endoreg_db-0.4.0.dist-info}/WHEEL +0 -0
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
# Generated by Django 4.2.
|
|
1
|
+
# Generated by Django 4.2.15 on 2024-08-25 12:09
|
|
2
2
|
|
|
3
3
|
from django.conf import settings
|
|
4
|
+
import django.core.files.storage
|
|
5
|
+
import django.core.validators
|
|
4
6
|
from django.db import migrations, models
|
|
5
7
|
import django.db.models.deletion
|
|
6
8
|
|
|
@@ -14,6 +16,65 @@ class Migration(migrations.Migration):
|
|
|
14
16
|
]
|
|
15
17
|
|
|
16
18
|
operations = [
|
|
19
|
+
migrations.CreateModel(
|
|
20
|
+
name='AglService',
|
|
21
|
+
fields=[
|
|
22
|
+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
23
|
+
('name', models.CharField(max_length=255)),
|
|
24
|
+
('description', models.CharField(max_length=255)),
|
|
25
|
+
('online', models.BooleanField(default=False)),
|
|
26
|
+
('created', models.DateTimeField(auto_now_add=True)),
|
|
27
|
+
('updated', models.DateTimeField(auto_now=True)),
|
|
28
|
+
('port', models.IntegerField(blank=True, null=True)),
|
|
29
|
+
('protocol', models.CharField(blank=True, max_length=255, null=True)),
|
|
30
|
+
('url', models.URLField(blank=True, null=True)),
|
|
31
|
+
],
|
|
32
|
+
options={
|
|
33
|
+
'ordering': ['name'],
|
|
34
|
+
},
|
|
35
|
+
),
|
|
36
|
+
migrations.CreateModel(
|
|
37
|
+
name='CaseTemplateRuleType',
|
|
38
|
+
fields=[
|
|
39
|
+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
40
|
+
('name', models.CharField(max_length=255)),
|
|
41
|
+
('name_de', models.CharField(max_length=255, null=True)),
|
|
42
|
+
('name_en', models.CharField(max_length=255, null=True)),
|
|
43
|
+
('description', models.TextField(blank=True, null=True)),
|
|
44
|
+
],
|
|
45
|
+
),
|
|
46
|
+
migrations.CreateModel(
|
|
47
|
+
name='CaseTemplateRuleValue',
|
|
48
|
+
fields=[
|
|
49
|
+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
50
|
+
('name', models.CharField(max_length=255)),
|
|
51
|
+
('description', models.TextField(blank=True, null=True)),
|
|
52
|
+
('fk_value', models.CharField(blank=True, max_length=255, null=True)),
|
|
53
|
+
('numeric_value', models.FloatField(blank=True, null=True)),
|
|
54
|
+
('text_value', models.CharField(blank=True, max_length=255, null=True)),
|
|
55
|
+
],
|
|
56
|
+
),
|
|
57
|
+
migrations.CreateModel(
|
|
58
|
+
name='CaseTemplateRuleValueType',
|
|
59
|
+
fields=[
|
|
60
|
+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
61
|
+
('name', models.CharField(max_length=255)),
|
|
62
|
+
('name_de', models.CharField(max_length=255, null=True)),
|
|
63
|
+
('name_en', models.CharField(max_length=255, null=True)),
|
|
64
|
+
('description', models.TextField(blank=True, null=True)),
|
|
65
|
+
('distribution_type', models.CharField(choices=[('single_categorical', 'single_categorical'), ('multiple_categorical', 'multiple_categorical'), ('numeric', 'numeric')], max_length=255)),
|
|
66
|
+
],
|
|
67
|
+
),
|
|
68
|
+
migrations.CreateModel(
|
|
69
|
+
name='CaseTemplateType',
|
|
70
|
+
fields=[
|
|
71
|
+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
72
|
+
('name', models.CharField(max_length=255)),
|
|
73
|
+
('name_de', models.CharField(max_length=255, null=True)),
|
|
74
|
+
('name_en', models.CharField(max_length=255, null=True)),
|
|
75
|
+
('description', models.TextField(blank=True, null=True)),
|
|
76
|
+
],
|
|
77
|
+
),
|
|
17
78
|
migrations.CreateModel(
|
|
18
79
|
name='Center',
|
|
19
80
|
fields=[
|
|
@@ -23,6 +84,68 @@ class Migration(migrations.Migration):
|
|
|
23
84
|
('name_en', models.CharField(blank=True, max_length=255, null=True)),
|
|
24
85
|
],
|
|
25
86
|
),
|
|
87
|
+
migrations.CreateModel(
|
|
88
|
+
name='DateValueDistribution',
|
|
89
|
+
fields=[
|
|
90
|
+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
91
|
+
('name', models.CharField(max_length=100)),
|
|
92
|
+
('name_de', models.CharField(blank=True, max_length=100, null=True)),
|
|
93
|
+
('name_en', models.CharField(blank=True, max_length=100, null=True)),
|
|
94
|
+
('description', models.TextField(blank=True, null=True)),
|
|
95
|
+
('distribution_type', models.CharField(choices=[('uniform', 'Uniform'), ('normal', 'Normal')], max_length=20)),
|
|
96
|
+
('mode', models.CharField(choices=[('date', 'Date'), ('timedelta', 'Timedelta')], max_length=20)),
|
|
97
|
+
('date_min', models.DateField(blank=True, null=True)),
|
|
98
|
+
('date_max', models.DateField(blank=True, null=True)),
|
|
99
|
+
('date_mean', models.DateField(blank=True, null=True)),
|
|
100
|
+
('date_std_dev', models.IntegerField(blank=True, null=True)),
|
|
101
|
+
('timedelta_days_min', models.IntegerField(blank=True, null=True)),
|
|
102
|
+
('timedelta_days_max', models.IntegerField(blank=True, null=True)),
|
|
103
|
+
('timedelta_days_mean', models.IntegerField(blank=True, null=True)),
|
|
104
|
+
('timedelta_days_std_dev', models.IntegerField(blank=True, null=True)),
|
|
105
|
+
],
|
|
106
|
+
options={
|
|
107
|
+
'abstract': False,
|
|
108
|
+
},
|
|
109
|
+
),
|
|
110
|
+
migrations.CreateModel(
|
|
111
|
+
name='Disease',
|
|
112
|
+
fields=[
|
|
113
|
+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
114
|
+
('name', models.CharField(max_length=255, unique=True)),
|
|
115
|
+
('name_de', models.CharField(blank=True, max_length=255, null=True)),
|
|
116
|
+
('name_en', models.CharField(blank=True, max_length=255, null=True)),
|
|
117
|
+
],
|
|
118
|
+
),
|
|
119
|
+
migrations.CreateModel(
|
|
120
|
+
name='DiseaseClassification',
|
|
121
|
+
fields=[
|
|
122
|
+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
123
|
+
('name', models.CharField(max_length=255, unique=True)),
|
|
124
|
+
('name_de', models.CharField(blank=True, max_length=255, null=True)),
|
|
125
|
+
('name_en', models.CharField(blank=True, max_length=255, null=True)),
|
|
126
|
+
('disease', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='endoreg_db.disease')),
|
|
127
|
+
],
|
|
128
|
+
),
|
|
129
|
+
migrations.CreateModel(
|
|
130
|
+
name='DiseaseClassificationChoice',
|
|
131
|
+
fields=[
|
|
132
|
+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
133
|
+
('name', models.CharField(max_length=255, unique=True)),
|
|
134
|
+
('name_de', models.CharField(blank=True, max_length=255, null=True)),
|
|
135
|
+
('name_en', models.CharField(blank=True, max_length=255, null=True)),
|
|
136
|
+
('disease_classification', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='endoreg_db.diseaseclassification')),
|
|
137
|
+
],
|
|
138
|
+
),
|
|
139
|
+
migrations.CreateModel(
|
|
140
|
+
name='EmissionFactor',
|
|
141
|
+
fields=[
|
|
142
|
+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
143
|
+
('name', models.CharField(max_length=255)),
|
|
144
|
+
('name_de', models.CharField(max_length=255, null=True)),
|
|
145
|
+
('name_en', models.CharField(max_length=255, null=True)),
|
|
146
|
+
('value', models.FloatField()),
|
|
147
|
+
],
|
|
148
|
+
),
|
|
26
149
|
migrations.CreateModel(
|
|
27
150
|
name='Endoscope',
|
|
28
151
|
fields=[
|
|
@@ -91,6 +214,16 @@ class Migration(migrations.Migration):
|
|
|
91
214
|
('endoscope_sn_height', models.IntegerField(blank=True, null=True)),
|
|
92
215
|
],
|
|
93
216
|
),
|
|
217
|
+
migrations.CreateModel(
|
|
218
|
+
name='Event',
|
|
219
|
+
fields=[
|
|
220
|
+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
221
|
+
('name', models.CharField(max_length=100, unique=True)),
|
|
222
|
+
('name_de', models.CharField(blank=True, max_length=100, null=True)),
|
|
223
|
+
('name_en', models.CharField(blank=True, max_length=100, null=True)),
|
|
224
|
+
('description', models.TextField(blank=True, null=True)),
|
|
225
|
+
],
|
|
226
|
+
),
|
|
94
227
|
migrations.CreateModel(
|
|
95
228
|
name='Examination',
|
|
96
229
|
fields=[
|
|
@@ -123,7 +256,6 @@ class Migration(migrations.Migration):
|
|
|
123
256
|
('first_name', models.CharField(max_length=255)),
|
|
124
257
|
('last_name', models.CharField(max_length=255)),
|
|
125
258
|
('dob', models.DateField(blank=True, null=True, verbose_name='Date of Birth')),
|
|
126
|
-
('gender', models.CharField(blank=True, choices=[('Male', 'Male'), ('Female', 'Female'), ('Other', 'Other')], max_length=10, null=True)),
|
|
127
259
|
('email', models.EmailField(blank=True, max_length=255, null=True)),
|
|
128
260
|
('phone', models.CharField(blank=True, max_length=255, null=True)),
|
|
129
261
|
('is_real_person', models.BooleanField(default=True)),
|
|
@@ -133,6 +265,27 @@ class Migration(migrations.Migration):
|
|
|
133
265
|
'abstract': False,
|
|
134
266
|
},
|
|
135
267
|
),
|
|
268
|
+
migrations.CreateModel(
|
|
269
|
+
name='FFMpegMeta',
|
|
270
|
+
fields=[
|
|
271
|
+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
272
|
+
('duration', models.FloatField(blank=True, null=True)),
|
|
273
|
+
('width', models.IntegerField(blank=True, null=True)),
|
|
274
|
+
('height', models.IntegerField(blank=True, null=True)),
|
|
275
|
+
('frame_rate', models.FloatField(blank=True, null=True)),
|
|
276
|
+
('video_codec', models.CharField(blank=True, max_length=50, null=True)),
|
|
277
|
+
('audio_codec', models.CharField(blank=True, max_length=50, null=True)),
|
|
278
|
+
('audio_channels', models.IntegerField(blank=True, null=True)),
|
|
279
|
+
('audio_sample_rate', models.IntegerField(blank=True, null=True)),
|
|
280
|
+
],
|
|
281
|
+
),
|
|
282
|
+
migrations.CreateModel(
|
|
283
|
+
name='FirstName',
|
|
284
|
+
fields=[
|
|
285
|
+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
286
|
+
('name', models.CharField(max_length=255, unique=True)),
|
|
287
|
+
],
|
|
288
|
+
),
|
|
136
289
|
migrations.CreateModel(
|
|
137
290
|
name='Frame',
|
|
138
291
|
fields=[
|
|
@@ -145,6 +298,17 @@ class Migration(migrations.Migration):
|
|
|
145
298
|
'abstract': False,
|
|
146
299
|
},
|
|
147
300
|
),
|
|
301
|
+
migrations.CreateModel(
|
|
302
|
+
name='Gender',
|
|
303
|
+
fields=[
|
|
304
|
+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
305
|
+
('name', models.CharField(max_length=255)),
|
|
306
|
+
('name_de', models.CharField(max_length=255, null=True)),
|
|
307
|
+
('name_en', models.CharField(max_length=255, null=True)),
|
|
308
|
+
('abbreviation', models.CharField(max_length=255, null=True)),
|
|
309
|
+
('description', models.TextField(blank=True, null=True)),
|
|
310
|
+
],
|
|
311
|
+
),
|
|
148
312
|
migrations.CreateModel(
|
|
149
313
|
name='InformationSource',
|
|
150
314
|
fields=[
|
|
@@ -152,6 +316,9 @@ class Migration(migrations.Migration):
|
|
|
152
316
|
('name', models.CharField(max_length=100)),
|
|
153
317
|
('name_de', models.CharField(blank=True, max_length=100, null=True)),
|
|
154
318
|
('name_en', models.CharField(blank=True, max_length=100, null=True)),
|
|
319
|
+
('url', models.URLField(blank=True, null=True)),
|
|
320
|
+
('description', models.TextField(blank=True, null=True)),
|
|
321
|
+
('date', models.DateField(blank=True, null=True)),
|
|
155
322
|
],
|
|
156
323
|
),
|
|
157
324
|
migrations.CreateModel(
|
|
@@ -180,6 +347,29 @@ class Migration(migrations.Migration):
|
|
|
180
347
|
('description', models.TextField(blank=True, null=True)),
|
|
181
348
|
],
|
|
182
349
|
),
|
|
350
|
+
migrations.CreateModel(
|
|
351
|
+
name='LabValue',
|
|
352
|
+
fields=[
|
|
353
|
+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
354
|
+
('name', models.CharField(max_length=255, unique=True)),
|
|
355
|
+
('name_de', models.CharField(blank=True, max_length=255, null=True)),
|
|
356
|
+
('name_en', models.CharField(blank=True, max_length=255, null=True)),
|
|
357
|
+
('abbreviation', models.CharField(blank=True, max_length=10, null=True)),
|
|
358
|
+
('numeric_precision', models.IntegerField(default=3)),
|
|
359
|
+
('default_normal_range', models.JSONField(blank=True, null=True)),
|
|
360
|
+
('normal_range_age_dependent', models.BooleanField(default=False)),
|
|
361
|
+
('normal_range_gender_dependent', models.BooleanField(default=False)),
|
|
362
|
+
('normal_range_special_case', models.BooleanField(default=False)),
|
|
363
|
+
('default_date_value_distribution', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='default_date_value_distribution', to='endoreg_db.datevaluedistribution')),
|
|
364
|
+
],
|
|
365
|
+
),
|
|
366
|
+
migrations.CreateModel(
|
|
367
|
+
name='LastName',
|
|
368
|
+
fields=[
|
|
369
|
+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
370
|
+
('name', models.CharField(max_length=255, unique=True)),
|
|
371
|
+
],
|
|
372
|
+
),
|
|
183
373
|
migrations.CreateModel(
|
|
184
374
|
name='LegacyImage',
|
|
185
375
|
fields=[
|
|
@@ -210,54 +400,389 @@ class Migration(migrations.Migration):
|
|
|
210
400
|
('endoscopy_processor', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='endoreg_db.endoscopyprocessor')),
|
|
211
401
|
],
|
|
212
402
|
options={
|
|
213
|
-
'abstract': False,
|
|
403
|
+
'abstract': False,
|
|
404
|
+
},
|
|
405
|
+
),
|
|
406
|
+
migrations.CreateModel(
|
|
407
|
+
name='LogType',
|
|
408
|
+
fields=[
|
|
409
|
+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
410
|
+
('name', models.CharField(max_length=255)),
|
|
411
|
+
('description', models.CharField(max_length=255)),
|
|
412
|
+
('created', models.DateTimeField(auto_now_add=True)),
|
|
413
|
+
('updated', models.DateTimeField(auto_now=True)),
|
|
414
|
+
],
|
|
415
|
+
options={
|
|
416
|
+
'ordering': ['name'],
|
|
417
|
+
},
|
|
418
|
+
),
|
|
419
|
+
migrations.CreateModel(
|
|
420
|
+
name='Material',
|
|
421
|
+
fields=[
|
|
422
|
+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
423
|
+
('name', models.CharField(max_length=255)),
|
|
424
|
+
('name_de', models.CharField(max_length=255, null=True)),
|
|
425
|
+
('name_en', models.CharField(max_length=255, null=True)),
|
|
426
|
+
('emission_factor', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='endoreg_db.emissionfactor')),
|
|
427
|
+
],
|
|
428
|
+
),
|
|
429
|
+
migrations.CreateModel(
|
|
430
|
+
name='Medication',
|
|
431
|
+
fields=[
|
|
432
|
+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
433
|
+
('name', models.CharField(max_length=255, unique=True)),
|
|
434
|
+
('name_de', models.CharField(blank=True, max_length=255, null=True)),
|
|
435
|
+
('name_en', models.CharField(blank=True, max_length=255, null=True)),
|
|
436
|
+
('adapt_to_renal_function', models.BooleanField(default=False)),
|
|
437
|
+
('adapt_to_hepatic_function', models.BooleanField(default=False)),
|
|
438
|
+
('adapt_to_indication', models.BooleanField(default=False)),
|
|
439
|
+
('adapt_to_age', models.BooleanField(default=False)),
|
|
440
|
+
('adapt_to_weight', models.BooleanField(default=False)),
|
|
441
|
+
('adapt_to_risk', models.BooleanField(default=False)),
|
|
442
|
+
],
|
|
443
|
+
),
|
|
444
|
+
migrations.CreateModel(
|
|
445
|
+
name='MedicationIndication',
|
|
446
|
+
fields=[
|
|
447
|
+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
448
|
+
('name', models.CharField(max_length=255, unique=True)),
|
|
449
|
+
('classification_choices', models.ManyToManyField(to='endoreg_db.diseaseclassificationchoice')),
|
|
450
|
+
('diseases', models.ManyToManyField(to='endoreg_db.disease')),
|
|
451
|
+
('events', models.ManyToManyField(to='endoreg_db.event')),
|
|
452
|
+
],
|
|
453
|
+
),
|
|
454
|
+
migrations.CreateModel(
|
|
455
|
+
name='MedicationIndicationType',
|
|
456
|
+
fields=[
|
|
457
|
+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
458
|
+
('name', models.CharField(max_length=255, unique=True)),
|
|
459
|
+
('name_de', models.CharField(blank=True, max_length=255, null=True)),
|
|
460
|
+
('name_en', models.CharField(blank=True, max_length=255, null=True)),
|
|
461
|
+
],
|
|
462
|
+
),
|
|
463
|
+
migrations.CreateModel(
|
|
464
|
+
name='MedicationIntakeTime',
|
|
465
|
+
fields=[
|
|
466
|
+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
467
|
+
('name', models.CharField(max_length=255)),
|
|
468
|
+
('name_de', models.CharField(blank=True, max_length=255, null=True)),
|
|
469
|
+
('name_en', models.CharField(blank=True, max_length=255, null=True)),
|
|
470
|
+
('repeats', models.CharField(default='daily', max_length=20)),
|
|
471
|
+
('time', models.TimeField()),
|
|
472
|
+
],
|
|
473
|
+
),
|
|
474
|
+
migrations.CreateModel(
|
|
475
|
+
name='MedicationSchedule',
|
|
476
|
+
fields=[
|
|
477
|
+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
478
|
+
('name', models.CharField(max_length=255)),
|
|
479
|
+
('name_de', models.CharField(blank=True, max_length=255, null=True)),
|
|
480
|
+
('name_en', models.CharField(blank=True, max_length=255, null=True)),
|
|
481
|
+
('description', models.TextField(blank=True, null=True)),
|
|
482
|
+
('therapy_duration_d', models.FloatField(blank=True, null=True)),
|
|
483
|
+
('dose', models.FloatField()),
|
|
484
|
+
('intake_times', models.ManyToManyField(to='endoreg_db.medicationintaketime')),
|
|
485
|
+
('medication', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='endoreg_db.medication')),
|
|
486
|
+
],
|
|
487
|
+
),
|
|
488
|
+
migrations.CreateModel(
|
|
489
|
+
name='ModelMeta',
|
|
490
|
+
fields=[
|
|
491
|
+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
492
|
+
('name', models.CharField(max_length=255)),
|
|
493
|
+
('version', models.CharField(max_length=255)),
|
|
494
|
+
('weights', models.FileField(upload_to='weights/')),
|
|
495
|
+
('description', models.TextField(blank=True, null=True)),
|
|
496
|
+
('date_created', models.DateTimeField(auto_now_add=True)),
|
|
497
|
+
('labelset', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='models', to='endoreg_db.labelset')),
|
|
498
|
+
],
|
|
499
|
+
),
|
|
500
|
+
migrations.CreateModel(
|
|
501
|
+
name='ModelType',
|
|
502
|
+
fields=[
|
|
503
|
+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
504
|
+
('name', models.CharField(max_length=255)),
|
|
505
|
+
('description', models.TextField(blank=True, null=True)),
|
|
506
|
+
],
|
|
507
|
+
),
|
|
508
|
+
migrations.CreateModel(
|
|
509
|
+
name='MultipleCategoricalValueDistribution',
|
|
510
|
+
fields=[
|
|
511
|
+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
512
|
+
('name', models.CharField(max_length=100)),
|
|
513
|
+
('categories', models.JSONField()),
|
|
514
|
+
('min_count', models.IntegerField()),
|
|
515
|
+
('max_count', models.IntegerField()),
|
|
516
|
+
('count_distribution_type', models.CharField(choices=[('uniform', 'Uniform'), ('normal', 'Normal')], max_length=20)),
|
|
517
|
+
('count_mean', models.FloatField(blank=True, null=True)),
|
|
518
|
+
('count_std_dev', models.FloatField(blank=True, null=True)),
|
|
519
|
+
],
|
|
520
|
+
options={
|
|
521
|
+
'abstract': False,
|
|
522
|
+
},
|
|
523
|
+
),
|
|
524
|
+
migrations.CreateModel(
|
|
525
|
+
name='NetworkDevice',
|
|
526
|
+
fields=[
|
|
527
|
+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
528
|
+
('name', models.CharField(max_length=255)),
|
|
529
|
+
('ip', models.GenericIPAddressField(blank=True, null=True)),
|
|
530
|
+
('description', models.CharField(max_length=255)),
|
|
531
|
+
('online', models.BooleanField(default=False)),
|
|
532
|
+
('created', models.DateTimeField(auto_now_add=True)),
|
|
533
|
+
('updated', models.DateTimeField(auto_now=True)),
|
|
534
|
+
],
|
|
535
|
+
options={
|
|
536
|
+
'db_table': 'network_devices',
|
|
537
|
+
'ordering': ['name'],
|
|
538
|
+
},
|
|
539
|
+
),
|
|
540
|
+
migrations.CreateModel(
|
|
541
|
+
name='NetworkDeviceType',
|
|
542
|
+
fields=[
|
|
543
|
+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
544
|
+
('name', models.CharField(max_length=255)),
|
|
545
|
+
('description', models.CharField(max_length=255)),
|
|
546
|
+
('created', models.DateTimeField(auto_now_add=True)),
|
|
547
|
+
('updated', models.DateTimeField(auto_now=True)),
|
|
548
|
+
],
|
|
549
|
+
options={
|
|
550
|
+
'db_table': 'network_device_types',
|
|
551
|
+
'ordering': ['name'],
|
|
552
|
+
},
|
|
553
|
+
),
|
|
554
|
+
migrations.CreateModel(
|
|
555
|
+
name='NumericValueDistribution',
|
|
556
|
+
fields=[
|
|
557
|
+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
558
|
+
('name', models.CharField(max_length=100)),
|
|
559
|
+
('distribution_type', models.CharField(choices=[('uniform', 'Uniform'), ('normal', 'Normal'), ('skewed_normal', 'Skewed Normal')], max_length=20)),
|
|
560
|
+
('min_value', models.FloatField()),
|
|
561
|
+
('max_value', models.FloatField()),
|
|
562
|
+
('mean', models.FloatField(blank=True, null=True)),
|
|
563
|
+
('std_dev', models.FloatField(blank=True, null=True)),
|
|
564
|
+
('skewness', models.FloatField(blank=True, null=True)),
|
|
565
|
+
],
|
|
566
|
+
options={
|
|
567
|
+
'abstract': False,
|
|
568
|
+
},
|
|
569
|
+
),
|
|
570
|
+
migrations.CreateModel(
|
|
571
|
+
name='Patient',
|
|
572
|
+
fields=[
|
|
573
|
+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
574
|
+
('first_name', models.CharField(max_length=255)),
|
|
575
|
+
('last_name', models.CharField(max_length=255)),
|
|
576
|
+
('dob', models.DateField(blank=True, null=True, verbose_name='Date of Birth')),
|
|
577
|
+
('email', models.EmailField(blank=True, max_length=255, null=True)),
|
|
578
|
+
('phone', models.CharField(blank=True, max_length=255, null=True)),
|
|
579
|
+
('is_real_person', models.BooleanField(default=True)),
|
|
580
|
+
('center', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='endoreg_db.center')),
|
|
581
|
+
('gender', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='endoreg_db.gender')),
|
|
582
|
+
],
|
|
583
|
+
options={
|
|
584
|
+
'abstract': False,
|
|
585
|
+
},
|
|
586
|
+
),
|
|
587
|
+
migrations.CreateModel(
|
|
588
|
+
name='PatientLabSample',
|
|
589
|
+
fields=[
|
|
590
|
+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
591
|
+
('date', models.DateTimeField()),
|
|
592
|
+
('patient', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='lab_samples', to='endoreg_db.patient')),
|
|
593
|
+
],
|
|
594
|
+
),
|
|
595
|
+
migrations.CreateModel(
|
|
596
|
+
name='PatientLabSampleType',
|
|
597
|
+
fields=[
|
|
598
|
+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
599
|
+
('name', models.CharField(max_length=255)),
|
|
600
|
+
('name_de', models.CharField(max_length=255, null=True)),
|
|
601
|
+
('name_en', models.CharField(max_length=255, null=True)),
|
|
602
|
+
('description', models.TextField(blank=True, null=True)),
|
|
603
|
+
],
|
|
604
|
+
),
|
|
605
|
+
migrations.CreateModel(
|
|
606
|
+
name='PatientMedication',
|
|
607
|
+
fields=[
|
|
608
|
+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
609
|
+
('dosage', models.JSONField()),
|
|
610
|
+
('active', models.BooleanField(default=True)),
|
|
611
|
+
('medication_indication', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='patient_medications', to='endoreg_db.medicationindication')),
|
|
612
|
+
('medication_schedules', models.ManyToManyField(to='endoreg_db.medicationschedule')),
|
|
613
|
+
('patient', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='endoreg_db.patient')),
|
|
614
|
+
],
|
|
615
|
+
options={
|
|
616
|
+
'verbose_name': 'Patient Medication',
|
|
617
|
+
'verbose_name_plural': 'Patient Medications',
|
|
618
|
+
},
|
|
619
|
+
),
|
|
620
|
+
migrations.CreateModel(
|
|
621
|
+
name='PdfType',
|
|
622
|
+
fields=[
|
|
623
|
+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
624
|
+
('name', models.CharField(max_length=255)),
|
|
625
|
+
],
|
|
626
|
+
),
|
|
627
|
+
migrations.CreateModel(
|
|
628
|
+
name='Product',
|
|
629
|
+
fields=[
|
|
630
|
+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
631
|
+
('name', models.CharField(max_length=255)),
|
|
632
|
+
('name_de', models.CharField(max_length=255, null=True)),
|
|
633
|
+
('name_en', models.CharField(max_length=255, null=True)),
|
|
634
|
+
],
|
|
635
|
+
),
|
|
636
|
+
migrations.CreateModel(
|
|
637
|
+
name='ProductGroup',
|
|
638
|
+
fields=[
|
|
639
|
+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
640
|
+
('name', models.CharField(max_length=255)),
|
|
641
|
+
('name_de', models.CharField(max_length=255, null=True)),
|
|
642
|
+
('name_en', models.CharField(max_length=255, null=True)),
|
|
643
|
+
],
|
|
644
|
+
),
|
|
645
|
+
migrations.CreateModel(
|
|
646
|
+
name='Profession',
|
|
647
|
+
fields=[
|
|
648
|
+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
649
|
+
('name', models.CharField(max_length=100)),
|
|
650
|
+
('name_de', models.CharField(blank=True, max_length=100, null=True)),
|
|
651
|
+
('name_en', models.CharField(blank=True, max_length=100, null=True)),
|
|
652
|
+
('description', models.TextField(blank=True, null=True)),
|
|
653
|
+
],
|
|
654
|
+
),
|
|
655
|
+
migrations.CreateModel(
|
|
656
|
+
name='QuizAnswerType',
|
|
657
|
+
fields=[
|
|
658
|
+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
659
|
+
('name', models.CharField(max_length=255)),
|
|
660
|
+
('description', models.TextField(blank=True, null=True)),
|
|
661
|
+
],
|
|
662
|
+
),
|
|
663
|
+
migrations.CreateModel(
|
|
664
|
+
name='QuizQuestionType',
|
|
665
|
+
fields=[
|
|
666
|
+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
667
|
+
('name', models.CharField(max_length=255)),
|
|
668
|
+
('description', models.TextField(blank=True, null=True)),
|
|
669
|
+
],
|
|
670
|
+
),
|
|
671
|
+
migrations.CreateModel(
|
|
672
|
+
name='ReportReaderFlag',
|
|
673
|
+
fields=[
|
|
674
|
+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
675
|
+
('name', models.CharField(max_length=255, unique=True)),
|
|
676
|
+
('value', models.CharField(max_length=255)),
|
|
677
|
+
],
|
|
678
|
+
),
|
|
679
|
+
migrations.CreateModel(
|
|
680
|
+
name='Resource',
|
|
681
|
+
fields=[
|
|
682
|
+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
683
|
+
('name', models.CharField(max_length=255)),
|
|
684
|
+
('name_de', models.CharField(max_length=255, null=True)),
|
|
685
|
+
('name_en', models.CharField(max_length=255, null=True)),
|
|
686
|
+
],
|
|
687
|
+
),
|
|
688
|
+
migrations.CreateModel(
|
|
689
|
+
name='Rule',
|
|
690
|
+
fields=[
|
|
691
|
+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
692
|
+
('name', models.CharField(max_length=255, unique=True)),
|
|
693
|
+
('name_de', models.CharField(blank=True, max_length=255, null=True)),
|
|
694
|
+
('name_en', models.CharField(blank=True, max_length=255, null=True)),
|
|
695
|
+
('description', models.TextField(blank=True, null=True)),
|
|
696
|
+
('attribute_key', models.CharField(max_length=255)),
|
|
697
|
+
],
|
|
698
|
+
options={
|
|
699
|
+
'verbose_name': 'Rule',
|
|
700
|
+
'verbose_name_plural': 'Rules',
|
|
214
701
|
},
|
|
215
702
|
),
|
|
216
703
|
migrations.CreateModel(
|
|
217
|
-
name='
|
|
704
|
+
name='RuleAttributeDType',
|
|
218
705
|
fields=[
|
|
219
706
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
220
|
-
('name', models.CharField(max_length=255)),
|
|
221
|
-
('
|
|
222
|
-
('
|
|
223
|
-
('description', models.TextField(blank=True, null=True)),
|
|
224
|
-
('date_created', models.DateTimeField(auto_now_add=True)),
|
|
225
|
-
('labelset', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='models', to='endoreg_db.labelset')),
|
|
707
|
+
('name', models.CharField(max_length=255, unique=True)),
|
|
708
|
+
('name_de', models.CharField(blank=True, max_length=255, null=True)),
|
|
709
|
+
('name_en', models.CharField(blank=True, max_length=255, null=True)),
|
|
226
710
|
],
|
|
227
711
|
),
|
|
228
712
|
migrations.CreateModel(
|
|
229
|
-
name='
|
|
713
|
+
name='RuleType',
|
|
230
714
|
fields=[
|
|
231
715
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
232
|
-
('name', models.CharField(max_length=255)),
|
|
233
|
-
('
|
|
716
|
+
('name', models.CharField(max_length=255, unique=True)),
|
|
717
|
+
('name_de', models.CharField(blank=True, max_length=255, null=True)),
|
|
718
|
+
('name_en', models.CharField(blank=True, max_length=255, null=True)),
|
|
234
719
|
],
|
|
720
|
+
options={
|
|
721
|
+
'verbose_name': 'Rule Type',
|
|
722
|
+
'verbose_name_plural': 'Rule Types',
|
|
723
|
+
},
|
|
235
724
|
),
|
|
236
725
|
migrations.CreateModel(
|
|
237
|
-
name='
|
|
726
|
+
name='SensitiveMeta',
|
|
238
727
|
fields=[
|
|
239
728
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
240
|
-
('
|
|
241
|
-
('
|
|
242
|
-
('
|
|
243
|
-
('
|
|
244
|
-
('
|
|
245
|
-
('
|
|
246
|
-
|
|
247
|
-
|
|
729
|
+
('examination_date', models.DateField(blank=True, null=True)),
|
|
730
|
+
('patient_first_name', models.CharField(blank=True, max_length=255, null=True)),
|
|
731
|
+
('patient_last_name', models.CharField(blank=True, max_length=255, null=True)),
|
|
732
|
+
('patient_dob', models.DateField(blank=True, null=True)),
|
|
733
|
+
('endoscope_type', models.CharField(blank=True, max_length=255, null=True)),
|
|
734
|
+
('endoscope_sn', models.CharField(blank=True, max_length=255, null=True)),
|
|
735
|
+
],
|
|
736
|
+
),
|
|
737
|
+
migrations.CreateModel(
|
|
738
|
+
name='SingleCategoricalValueDistribution',
|
|
739
|
+
fields=[
|
|
740
|
+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
741
|
+
('name', models.CharField(max_length=100)),
|
|
742
|
+
('categories', models.JSONField()),
|
|
248
743
|
],
|
|
249
744
|
options={
|
|
250
745
|
'abstract': False,
|
|
251
746
|
},
|
|
252
747
|
),
|
|
253
748
|
migrations.CreateModel(
|
|
254
|
-
name='
|
|
749
|
+
name='TtoQuestionnaire',
|
|
255
750
|
fields=[
|
|
256
751
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
257
|
-
('
|
|
258
|
-
('
|
|
259
|
-
('
|
|
260
|
-
('
|
|
752
|
+
('patient_name', models.CharField(max_length=255, verbose_name='Identifikation des Patienten (Name)')),
|
|
753
|
+
('birth_date', models.DateField(verbose_name='Geburtsdatum')),
|
|
754
|
+
('emergency_patient', models.CharField(choices=[('yes', 'Ja'), ('no', 'Nein')], max_length=3, verbose_name='Notfallpatient/kürzlich untersuchter Patient (Verzicht auf Team-Time-Out möglich)')),
|
|
755
|
+
('consent_signed', models.CharField(choices=[('yes', 'Ja'), ('no', 'Nein')], max_length=3, verbose_name='Einverständniserklärung unterschrieben (Arzt, Patient)')),
|
|
756
|
+
('documents_present', models.CharField(choices=[('yes', 'Ja'), ('no', 'Nein')], max_length=3, verbose_name='Alle Dokumente liegen vor (Labor, Befunde, etc.)')),
|
|
757
|
+
('communication_possible', models.CharField(choices=[('yes', 'Ja'), ('no', 'Nein')], max_length=3, verbose_name='Kommunikation mit Patient möglich')),
|
|
758
|
+
('work_incapacity_certificate', models.CharField(choices=[('yes', 'Ja'), ('no', 'Nein')], max_length=3, verbose_name='Arbeitsunfähigkeitsbescheinigung')),
|
|
759
|
+
('pregnancy', models.CharField(choices=[('yes', 'Ja'), ('no', 'Nein')], max_length=3, verbose_name='Schwangerschaft')),
|
|
760
|
+
('asa_classification_checked', models.CharField(choices=[('yes', 'Ja'), ('no', 'Nein')], max_length=3, verbose_name='ASA-Klassifikation/Komorbidität geprüft')),
|
|
761
|
+
('previous_anesthesia_complications', models.CharField(choices=[('yes', 'Ja'), ('no', 'Nein')], max_length=3, verbose_name='Komplikationen bei bisherigen Narkosen?')),
|
|
762
|
+
('last_meal_over_6_hours_ago', models.CharField(choices=[('yes', 'Ja'), ('no', 'Nein')], max_length=3, verbose_name='Zeitpunkt letzte Mahlzeit > 6 Stunden')),
|
|
763
|
+
('allergies', models.CharField(choices=[('yes', 'Ja'), ('no', 'Nein')], max_length=3, verbose_name='Allergien, welche?')),
|
|
764
|
+
('outpatient_accompaniment_post_sedation', models.CharField(choices=[('yes', 'Ja'), ('no', 'Nein')], max_length=3, verbose_name='Nur bei ambulanter Vorstellung: Begleitung nach Sedierung?')),
|
|
765
|
+
('dental_prosthesis', models.BooleanField(default=False, verbose_name='Zahnprothese')),
|
|
766
|
+
('glasses', models.BooleanField(default=False, verbose_name='Brille')),
|
|
767
|
+
('implants', models.BooleanField(default=False, verbose_name='Implantate')),
|
|
768
|
+
('hearing_aids', models.BooleanField(default=False, verbose_name='Hörgeräte')),
|
|
769
|
+
('anticoagulants_ass', models.CharField(choices=[('yes', 'Ja'), ('no', 'Nein')], max_length=3, verbose_name='Antikoagulation, ASS')),
|
|
770
|
+
('blood_pressure_medication', models.CharField(choices=[('yes', 'Ja'), ('no', 'Nein')], max_length=3, verbose_name='Blutdruckmedikamente')),
|
|
771
|
+
('glaucoma', models.CharField(choices=[('yes', 'Ja'), ('no', 'Nein')], max_length=3, verbose_name='Glaukom')),
|
|
772
|
+
('metal_implants', models.CharField(choices=[('yes', 'Ja'), ('no', 'Nein')], max_length=3, verbose_name='Metallimplantate')),
|
|
773
|
+
('pacemaker_icd', models.CharField(choices=[('yes', 'Ja'), ('no', 'Nein')], max_length=3, verbose_name='Herzschrittmacher/ICD')),
|
|
774
|
+
('copd', models.CharField(choices=[('yes', 'Ja'), ('no', 'Nein')], max_length=3, verbose_name='COPD')),
|
|
775
|
+
('liver_cirrhosis', models.CharField(choices=[('yes', 'Ja'), ('no', 'Nein')], max_length=3, verbose_name='Leberzirrhose')),
|
|
776
|
+
('ibd', models.CharField(choices=[('yes', 'Ja'), ('no', 'Nein')], max_length=3, verbose_name='CED (Chronisch entzündliche Darmerkrankungen)')),
|
|
777
|
+
('radiation', models.CharField(choices=[('yes', 'Ja'), ('no', 'Nein')], max_length=3, verbose_name='Bestrahlung')),
|
|
778
|
+
('surgeries', models.CharField(choices=[('yes', 'Ja'), ('no', 'Nein')], max_length=3, verbose_name='OP´s')),
|
|
779
|
+
('team_introduction', models.CharField(choices=[('yes', 'Ja'), ('no', 'Nein')], max_length=3, verbose_name='Teamvorstellung mit Name und Aufgabe')),
|
|
780
|
+
('instruments_available', models.CharField(choices=[('yes', 'Ja'), ('no', 'Nein')], max_length=3, verbose_name='Notwendige Instrumente vorhanden?')),
|
|
781
|
+
('monitoring_medications_equipment_checked', models.CharField(choices=[('yes', 'Ja'), ('no', 'Nein')], max_length=3, verbose_name='Monitoring, Medikamente, Equipment zum Atemwegsmanagement zur Verfügung und überprüft?')),
|
|
782
|
+
('complete_documentation_inclusive_care_notes', models.TextField(verbose_name='Vollständige Dokumentation inklusive Hinweise für Nachsorge')),
|
|
783
|
+
('notes', models.TextField(default='Keine Bemerkungen', verbose_name='Bemerkungen')),
|
|
784
|
+
('specimens_secured', models.BooleanField(default=False, verbose_name='Histologische Proben gesichert')),
|
|
785
|
+
('patient_condition_documented', models.TextField(verbose_name='Patientenzustand dokumentiert (je nach Ausgangszustand)')),
|
|
261
786
|
],
|
|
262
787
|
),
|
|
263
788
|
migrations.CreateModel(
|
|
@@ -268,7 +793,7 @@ class Migration(migrations.Migration):
|
|
|
268
793
|
('name_de', models.CharField(blank=True, max_length=100, null=True)),
|
|
269
794
|
('name_en', models.CharField(blank=True, max_length=100, null=True)),
|
|
270
795
|
('description', models.CharField(blank=True, max_length=100, null=True)),
|
|
271
|
-
('abbreviation', models.CharField(blank=True, max_length=
|
|
796
|
+
('abbreviation', models.CharField(blank=True, max_length=25, null=True)),
|
|
272
797
|
],
|
|
273
798
|
),
|
|
274
799
|
migrations.CreateModel(
|
|
@@ -296,6 +821,26 @@ class Migration(migrations.Migration):
|
|
|
296
821
|
'abstract': False,
|
|
297
822
|
},
|
|
298
823
|
),
|
|
824
|
+
migrations.CreateModel(
|
|
825
|
+
name='VideoImportMeta',
|
|
826
|
+
fields=[
|
|
827
|
+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
828
|
+
('video_anonymized', models.BooleanField(default=False)),
|
|
829
|
+
('video_patient_data_detected', models.BooleanField(default=False)),
|
|
830
|
+
('outside_detected', models.BooleanField(default=False)),
|
|
831
|
+
('patient_data_removed', models.BooleanField(default=False)),
|
|
832
|
+
('outside_removed', models.BooleanField(default=False)),
|
|
833
|
+
],
|
|
834
|
+
),
|
|
835
|
+
migrations.CreateModel(
|
|
836
|
+
name='Waste',
|
|
837
|
+
fields=[
|
|
838
|
+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
839
|
+
('name', models.CharField(max_length=255)),
|
|
840
|
+
('name_de', models.CharField(max_length=255, null=True)),
|
|
841
|
+
('name_en', models.CharField(max_length=255, null=True)),
|
|
842
|
+
],
|
|
843
|
+
),
|
|
299
844
|
migrations.CreateModel(
|
|
300
845
|
name='VideoPredictionMeta',
|
|
301
846
|
fields=[
|
|
@@ -312,17 +857,14 @@ class Migration(migrations.Migration):
|
|
|
312
857
|
},
|
|
313
858
|
),
|
|
314
859
|
migrations.CreateModel(
|
|
315
|
-
name='
|
|
860
|
+
name='VideoMeta',
|
|
316
861
|
fields=[
|
|
317
862
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
318
|
-
('video_anonymized', models.BooleanField(default=False)),
|
|
319
|
-
('video_patient_data_detected', models.BooleanField(default=False)),
|
|
320
|
-
('outside_detected', models.BooleanField(default=False)),
|
|
321
|
-
('patient_data_removed', models.BooleanField(default=False)),
|
|
322
|
-
('outside_removed', models.BooleanField(default=False)),
|
|
323
863
|
('center', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='endoreg_db.center')),
|
|
324
864
|
('endoscope', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='endoreg_db.endoscope')),
|
|
325
|
-
('
|
|
865
|
+
('ffmpeg_meta', models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='endoreg_db.ffmpegmeta')),
|
|
866
|
+
('import_meta', models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='endoreg_db.videoimportmeta')),
|
|
867
|
+
('processor', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='endoreg_db.endoscopyprocessor')),
|
|
326
868
|
],
|
|
327
869
|
),
|
|
328
870
|
migrations.AddField(
|
|
@@ -335,6 +877,53 @@ class Migration(migrations.Migration):
|
|
|
335
877
|
name='patient',
|
|
336
878
|
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='endoreg_db.patient'),
|
|
337
879
|
),
|
|
880
|
+
migrations.CreateModel(
|
|
881
|
+
name='TransportRoute',
|
|
882
|
+
fields=[
|
|
883
|
+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
884
|
+
('distance', models.FloatField()),
|
|
885
|
+
('name', models.CharField(max_length=255)),
|
|
886
|
+
('name_de', models.CharField(max_length=255, null=True)),
|
|
887
|
+
('name_en', models.CharField(max_length=255, null=True)),
|
|
888
|
+
('emission_factor', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='endoreg_db.emissionfactor')),
|
|
889
|
+
('unit', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='endoreg_db.unit')),
|
|
890
|
+
],
|
|
891
|
+
),
|
|
892
|
+
migrations.CreateModel(
|
|
893
|
+
name='Ruleset',
|
|
894
|
+
fields=[
|
|
895
|
+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
896
|
+
('name', models.CharField(max_length=255, unique=True)),
|
|
897
|
+
('name_de', models.CharField(blank=True, max_length=255, null=True)),
|
|
898
|
+
('name_en', models.CharField(blank=True, max_length=255, null=True)),
|
|
899
|
+
('rules', models.ManyToManyField(to='endoreg_db.rule')),
|
|
900
|
+
],
|
|
901
|
+
),
|
|
902
|
+
migrations.AddField(
|
|
903
|
+
model_name='rule',
|
|
904
|
+
name='attribute_dtype',
|
|
905
|
+
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='endoreg_db.ruleattributedtype'),
|
|
906
|
+
),
|
|
907
|
+
migrations.AddField(
|
|
908
|
+
model_name='rule',
|
|
909
|
+
name='rule_type',
|
|
910
|
+
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='endoreg_db.ruletype'),
|
|
911
|
+
),
|
|
912
|
+
migrations.CreateModel(
|
|
913
|
+
name='ReportReaderConfig',
|
|
914
|
+
fields=[
|
|
915
|
+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
916
|
+
('locale', models.CharField(default='de_DE', max_length=10)),
|
|
917
|
+
('text_date_format', models.CharField(default='%d.%m.%Y', max_length=10)),
|
|
918
|
+
('cut_off_above', models.ManyToManyField(related_name='report_reader_configs_cut_off_above', to='endoreg_db.reportreaderflag')),
|
|
919
|
+
('cut_off_below', models.ManyToManyField(related_name='report_reader_configs_cut_off_below', to='endoreg_db.reportreaderflag')),
|
|
920
|
+
('endoscope_info_line_flag', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='report_reader_configs_endoscope_info_line', to='endoreg_db.reportreaderflag')),
|
|
921
|
+
('examiner_info_line_flag', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='report_reader_configs_examiner_info_line', to='endoreg_db.reportreaderflag')),
|
|
922
|
+
('first_names', models.ManyToManyField(related_name='report_reader_configs', to='endoreg_db.firstname')),
|
|
923
|
+
('last_names', models.ManyToManyField(related_name='report_reader_configs', to='endoreg_db.lastname')),
|
|
924
|
+
('patient_info_line_flag', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='report_reader_configs_patient_info_line', to='endoreg_db.reportreaderflag')),
|
|
925
|
+
],
|
|
926
|
+
),
|
|
338
927
|
migrations.CreateModel(
|
|
339
928
|
name='ReportFile',
|
|
340
929
|
fields=[
|
|
@@ -351,6 +940,126 @@ class Migration(migrations.Migration):
|
|
|
351
940
|
('patient', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='endoreg_db.patient')),
|
|
352
941
|
],
|
|
353
942
|
),
|
|
943
|
+
migrations.CreateModel(
|
|
944
|
+
name='ReferenceProduct',
|
|
945
|
+
fields=[
|
|
946
|
+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
947
|
+
('name', models.CharField(max_length=255)),
|
|
948
|
+
('emission_factor_package', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='reference_product_package', to='endoreg_db.emissionfactor')),
|
|
949
|
+
('emission_factor_product', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='reference_product_product', to='endoreg_db.emissionfactor')),
|
|
950
|
+
('emission_factor_total', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='endoreg_db.emissionfactor')),
|
|
951
|
+
('product', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='endoreg_db.product')),
|
|
952
|
+
('product_group', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='reference_product', to='endoreg_db.productgroup')),
|
|
953
|
+
],
|
|
954
|
+
),
|
|
955
|
+
migrations.CreateModel(
|
|
956
|
+
name='RawVideoFile',
|
|
957
|
+
fields=[
|
|
958
|
+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
959
|
+
('uuid', models.UUIDField()),
|
|
960
|
+
('file', models.FileField(upload_to='raw_data/')),
|
|
961
|
+
('original_file_name', models.CharField(max_length=255)),
|
|
962
|
+
('video_hash', models.CharField(max_length=255, unique=True)),
|
|
963
|
+
('uploaded_at', models.DateTimeField(auto_now_add=True)),
|
|
964
|
+
('state_frames_required', models.BooleanField(default=True)),
|
|
965
|
+
('state_frames_extracted', models.BooleanField(default=False)),
|
|
966
|
+
('state_initial_prediction_required', models.BooleanField(default=True)),
|
|
967
|
+
('state_initial_prediction_completed', models.BooleanField(default=False)),
|
|
968
|
+
('state_initial_prediction_import_required', models.BooleanField(default=True)),
|
|
969
|
+
('state_initial_prediction_import_completed', models.BooleanField(default=False)),
|
|
970
|
+
('state_ocr_required', models.BooleanField(default=True)),
|
|
971
|
+
('state_ocr_completed', models.BooleanField(default=False)),
|
|
972
|
+
('state_outside_validated', models.BooleanField(default=False)),
|
|
973
|
+
('state_ocr_result_validated', models.BooleanField(default=False)),
|
|
974
|
+
('state_sensitive_data_retrieved', models.BooleanField(default=False)),
|
|
975
|
+
('state_histology_required', models.BooleanField(blank=True, null=True)),
|
|
976
|
+
('state_histology_available', models.BooleanField(default=False)),
|
|
977
|
+
('state_follow_up_intervention_required', models.BooleanField(blank=True, null=True)),
|
|
978
|
+
('state_follow_up_intervention_available', models.BooleanField(default=False)),
|
|
979
|
+
('state_dataset_complete', models.BooleanField(default=False)),
|
|
980
|
+
('state_anonym_video_required', models.BooleanField(default=True)),
|
|
981
|
+
('state_anonym_video_performed', models.BooleanField(default=False)),
|
|
982
|
+
('state_original_reports_deleted', models.BooleanField(default=False)),
|
|
983
|
+
('state_original_video_deleted', models.BooleanField(default=False)),
|
|
984
|
+
('state_finalized', models.BooleanField(default=False)),
|
|
985
|
+
('frame_dir', models.CharField(max_length=255)),
|
|
986
|
+
('prediction_dir', models.CharField(max_length=255)),
|
|
987
|
+
('center', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='endoreg_db.center')),
|
|
988
|
+
('processor', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='endoreg_db.endoscopyprocessor')),
|
|
989
|
+
('sensitive_meta', models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='endoreg_db.sensitivemeta')),
|
|
990
|
+
('video_meta', models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='endoreg_db.videometa')),
|
|
991
|
+
],
|
|
992
|
+
),
|
|
993
|
+
migrations.CreateModel(
|
|
994
|
+
name='RawPdfFile',
|
|
995
|
+
fields=[
|
|
996
|
+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
997
|
+
('file', models.FileField(storage=django.core.files.storage.FileSystemStorage(location='/home/agl-admin/agl-monitor/agl_monitor/agl_monitor/erc_data/raw_pdf'), upload_to='raw_pdf/', validators=[django.core.validators.FileExtensionValidator(allowed_extensions=['pdf'])])),
|
|
998
|
+
('pdf_hash', models.CharField(max_length=255, unique=True)),
|
|
999
|
+
('state_report_processing_required', models.BooleanField(default=True)),
|
|
1000
|
+
('state_report_processed', models.BooleanField(default=False)),
|
|
1001
|
+
('text', models.TextField(blank=True, null=True)),
|
|
1002
|
+
('anonymized_text', models.TextField(blank=True, null=True)),
|
|
1003
|
+
('raw_meta', models.JSONField(blank=True, null=True)),
|
|
1004
|
+
('created_at', models.DateTimeField(auto_now_add=True)),
|
|
1005
|
+
('center', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='endoreg_db.center')),
|
|
1006
|
+
('pdf_type', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='endoreg_db.pdftype')),
|
|
1007
|
+
('sensitive_meta', models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='raw_pdf_file', to='endoreg_db.sensitivemeta')),
|
|
1008
|
+
],
|
|
1009
|
+
),
|
|
1010
|
+
migrations.CreateModel(
|
|
1011
|
+
name='QuizQuestion',
|
|
1012
|
+
fields=[
|
|
1013
|
+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
1014
|
+
('text', models.TextField()),
|
|
1015
|
+
('description', models.TextField(blank=True, null=True)),
|
|
1016
|
+
('question_type', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='endoreg_db.quizquestiontype')),
|
|
1017
|
+
],
|
|
1018
|
+
),
|
|
1019
|
+
migrations.CreateModel(
|
|
1020
|
+
name='QuizAnswer',
|
|
1021
|
+
fields=[
|
|
1022
|
+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
1023
|
+
('text_value', models.CharField(blank=True, max_length=255, null=True)),
|
|
1024
|
+
('number_value', models.FloatField(blank=True, null=True)),
|
|
1025
|
+
('last_updated', models.DateTimeField(auto_now=True)),
|
|
1026
|
+
('answer_type', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='endoreg_db.quizanswertype')),
|
|
1027
|
+
('question', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='endoreg_db.quizquestion')),
|
|
1028
|
+
],
|
|
1029
|
+
),
|
|
1030
|
+
migrations.CreateModel(
|
|
1031
|
+
name='ProductWeight',
|
|
1032
|
+
fields=[
|
|
1033
|
+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
1034
|
+
('name', models.CharField(max_length=255, null=True)),
|
|
1035
|
+
('measured', models.FloatField(null=True)),
|
|
1036
|
+
('verified', models.FloatField(null=True)),
|
|
1037
|
+
('manufacturer', models.FloatField(null=True)),
|
|
1038
|
+
('product', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='endoreg_db.product')),
|
|
1039
|
+
('unit', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='endoreg_db.unit')),
|
|
1040
|
+
],
|
|
1041
|
+
),
|
|
1042
|
+
migrations.CreateModel(
|
|
1043
|
+
name='ProductMaterial',
|
|
1044
|
+
fields=[
|
|
1045
|
+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
1046
|
+
('component', models.CharField(max_length=255)),
|
|
1047
|
+
('quantity', models.FloatField()),
|
|
1048
|
+
('material', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='endoreg_db.material')),
|
|
1049
|
+
('product', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='product_materials', to='endoreg_db.product')),
|
|
1050
|
+
('unit', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='endoreg_db.unit')),
|
|
1051
|
+
],
|
|
1052
|
+
),
|
|
1053
|
+
migrations.AddField(
|
|
1054
|
+
model_name='product',
|
|
1055
|
+
name='product_group',
|
|
1056
|
+
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='endoreg_db.productgroup'),
|
|
1057
|
+
),
|
|
1058
|
+
migrations.AddField(
|
|
1059
|
+
model_name='product',
|
|
1060
|
+
name='transport_route',
|
|
1061
|
+
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='endoreg_db.transportroute'),
|
|
1062
|
+
),
|
|
354
1063
|
migrations.CreateModel(
|
|
355
1064
|
name='PortalUserInfo',
|
|
356
1065
|
fields=[
|
|
@@ -360,6 +1069,75 @@ class Migration(migrations.Migration):
|
|
|
360
1069
|
('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
|
|
361
1070
|
],
|
|
362
1071
|
),
|
|
1072
|
+
migrations.AddField(
|
|
1073
|
+
model_name='pdftype',
|
|
1074
|
+
name='cut_off_above_lines',
|
|
1075
|
+
field=models.ManyToManyField(related_name='pdf_type_cut_off_above_lines', to='endoreg_db.reportreaderflag'),
|
|
1076
|
+
),
|
|
1077
|
+
migrations.AddField(
|
|
1078
|
+
model_name='pdftype',
|
|
1079
|
+
name='cut_off_below_lines',
|
|
1080
|
+
field=models.ManyToManyField(related_name='pdf_type_cut_off_below_lines', to='endoreg_db.reportreaderflag'),
|
|
1081
|
+
),
|
|
1082
|
+
migrations.AddField(
|
|
1083
|
+
model_name='pdftype',
|
|
1084
|
+
name='endoscope_info_line',
|
|
1085
|
+
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='pdf_type_endoscopy_info_line', to='endoreg_db.reportreaderflag'),
|
|
1086
|
+
),
|
|
1087
|
+
migrations.AddField(
|
|
1088
|
+
model_name='pdftype',
|
|
1089
|
+
name='examiner_info_line',
|
|
1090
|
+
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='pdf_type_examiner_info_line', to='endoreg_db.reportreaderflag'),
|
|
1091
|
+
),
|
|
1092
|
+
migrations.AddField(
|
|
1093
|
+
model_name='pdftype',
|
|
1094
|
+
name='patient_info_line',
|
|
1095
|
+
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='pdf_type_patient_info_line', to='endoreg_db.reportreaderflag'),
|
|
1096
|
+
),
|
|
1097
|
+
migrations.CreateModel(
|
|
1098
|
+
name='PdfMeta',
|
|
1099
|
+
fields=[
|
|
1100
|
+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
1101
|
+
('date', models.DateField()),
|
|
1102
|
+
('time', models.TimeField()),
|
|
1103
|
+
('pdf_hash', models.CharField(max_length=255, unique=True)),
|
|
1104
|
+
('pdf_type', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='endoreg_db.pdftype')),
|
|
1105
|
+
],
|
|
1106
|
+
),
|
|
1107
|
+
migrations.CreateModel(
|
|
1108
|
+
name='PatientMedicationSchedule',
|
|
1109
|
+
fields=[
|
|
1110
|
+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
1111
|
+
('created_at', models.DateTimeField(auto_now_add=True)),
|
|
1112
|
+
('updated_at', models.DateTimeField(auto_now=True)),
|
|
1113
|
+
('medication', models.ManyToManyField(related_name='patient_medication_schedules', to='endoreg_db.patientmedication')),
|
|
1114
|
+
('patient', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='endoreg_db.patient')),
|
|
1115
|
+
],
|
|
1116
|
+
),
|
|
1117
|
+
migrations.AddField(
|
|
1118
|
+
model_name='patientmedication',
|
|
1119
|
+
name='unit',
|
|
1120
|
+
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='endoreg_db.unit'),
|
|
1121
|
+
),
|
|
1122
|
+
migrations.CreateModel(
|
|
1123
|
+
name='PatientLabValue',
|
|
1124
|
+
fields=[
|
|
1125
|
+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
1126
|
+
('value', models.FloatField(blank=True, null=True)),
|
|
1127
|
+
('value_str', models.CharField(blank=True, max_length=255, null=True)),
|
|
1128
|
+
('datetime', models.DateTimeField(auto_now_add=True)),
|
|
1129
|
+
('normal_range', models.JSONField(default=dict)),
|
|
1130
|
+
('lab_value', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='endoreg_db.labvalue')),
|
|
1131
|
+
('patient', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='lab_values', to='endoreg_db.patient')),
|
|
1132
|
+
('sample', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='values', to='endoreg_db.patientlabsample')),
|
|
1133
|
+
('unit', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='endoreg_db.unit')),
|
|
1134
|
+
],
|
|
1135
|
+
),
|
|
1136
|
+
migrations.AddField(
|
|
1137
|
+
model_name='patientlabsample',
|
|
1138
|
+
name='sample_type',
|
|
1139
|
+
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='endoreg_db.patientlabsampletype'),
|
|
1140
|
+
),
|
|
363
1141
|
migrations.CreateModel(
|
|
364
1142
|
name='PatientExamination',
|
|
365
1143
|
fields=[
|
|
@@ -375,11 +1153,83 @@ class Migration(migrations.Migration):
|
|
|
375
1153
|
'ordering': ['patient', 'examination'],
|
|
376
1154
|
},
|
|
377
1155
|
),
|
|
1156
|
+
migrations.CreateModel(
|
|
1157
|
+
name='PatientEvent',
|
|
1158
|
+
fields=[
|
|
1159
|
+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
1160
|
+
('date_start', models.DateField()),
|
|
1161
|
+
('date_end', models.DateField(blank=True, null=True)),
|
|
1162
|
+
('description', models.TextField(blank=True, null=True)),
|
|
1163
|
+
('last_update', models.DateTimeField(auto_now=True)),
|
|
1164
|
+
('event', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='endoreg_db.event')),
|
|
1165
|
+
('patient', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='endoreg_db.patient')),
|
|
1166
|
+
],
|
|
1167
|
+
),
|
|
1168
|
+
migrations.CreateModel(
|
|
1169
|
+
name='PatientDisease',
|
|
1170
|
+
fields=[
|
|
1171
|
+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
1172
|
+
('start_date', models.DateField(blank=True, null=True)),
|
|
1173
|
+
('end_date', models.DateField(blank=True, null=True)),
|
|
1174
|
+
('last_update', models.DateTimeField(auto_now=True)),
|
|
1175
|
+
('classification_choices', models.ManyToManyField(to='endoreg_db.diseaseclassificationchoice')),
|
|
1176
|
+
('disease', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='endoreg_db.disease')),
|
|
1177
|
+
('patient', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='endoreg_db.patient')),
|
|
1178
|
+
],
|
|
1179
|
+
),
|
|
1180
|
+
migrations.CreateModel(
|
|
1181
|
+
name='NetworkDeviceLogEntry',
|
|
1182
|
+
fields=[
|
|
1183
|
+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
1184
|
+
('timestamp', models.DateTimeField(auto_now_add=True)),
|
|
1185
|
+
('ip_address', models.GenericIPAddressField(blank=True, null=True)),
|
|
1186
|
+
('user_agent', models.CharField(blank=True, max_length=256, null=True)),
|
|
1187
|
+
('message', models.TextField()),
|
|
1188
|
+
('json_content', models.JSONField(blank=True, null=True)),
|
|
1189
|
+
('device', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='endoreg_db.networkdevice')),
|
|
1190
|
+
('log_type', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='endoreg_db.logtype')),
|
|
1191
|
+
('user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL)),
|
|
1192
|
+
],
|
|
1193
|
+
options={
|
|
1194
|
+
'verbose_name': 'Network Device Log Entry',
|
|
1195
|
+
'verbose_name_plural': 'Network Device Log Entries',
|
|
1196
|
+
},
|
|
1197
|
+
),
|
|
1198
|
+
migrations.AddField(
|
|
1199
|
+
model_name='networkdevice',
|
|
1200
|
+
name='device_type',
|
|
1201
|
+
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='endoreg_db.networkdevicetype'),
|
|
1202
|
+
),
|
|
378
1203
|
migrations.AddField(
|
|
379
1204
|
model_name='modelmeta',
|
|
380
1205
|
name='type',
|
|
381
1206
|
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='models', to='endoreg_db.modeltype'),
|
|
382
1207
|
),
|
|
1208
|
+
migrations.AddField(
|
|
1209
|
+
model_name='medicationschedule',
|
|
1210
|
+
name='unit',
|
|
1211
|
+
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='endoreg_db.unit'),
|
|
1212
|
+
),
|
|
1213
|
+
migrations.AddField(
|
|
1214
|
+
model_name='medicationindication',
|
|
1215
|
+
name='indication_type',
|
|
1216
|
+
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='medication_indications', to='endoreg_db.medicationindicationtype'),
|
|
1217
|
+
),
|
|
1218
|
+
migrations.AddField(
|
|
1219
|
+
model_name='medicationindication',
|
|
1220
|
+
name='medication_schedules',
|
|
1221
|
+
field=models.ManyToManyField(to='endoreg_db.medicationschedule'),
|
|
1222
|
+
),
|
|
1223
|
+
migrations.AddField(
|
|
1224
|
+
model_name='medicationindication',
|
|
1225
|
+
name='sources',
|
|
1226
|
+
field=models.ManyToManyField(to='endoreg_db.informationsource'),
|
|
1227
|
+
),
|
|
1228
|
+
migrations.AddField(
|
|
1229
|
+
model_name='medication',
|
|
1230
|
+
name='default_unit',
|
|
1231
|
+
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='endoreg_db.unit'),
|
|
1232
|
+
),
|
|
383
1233
|
migrations.CreateModel(
|
|
384
1234
|
name='LegacyVideoPredictionMeta',
|
|
385
1235
|
fields=[
|
|
@@ -443,6 +1293,26 @@ class Migration(migrations.Migration):
|
|
|
443
1293
|
'abstract': False,
|
|
444
1294
|
},
|
|
445
1295
|
),
|
|
1296
|
+
migrations.AddField(
|
|
1297
|
+
model_name='labvalue',
|
|
1298
|
+
name='default_multiple_categorical_value_distribution',
|
|
1299
|
+
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='default_multiple_categorical_value_distribution', to='endoreg_db.multiplecategoricalvaluedistribution'),
|
|
1300
|
+
),
|
|
1301
|
+
migrations.AddField(
|
|
1302
|
+
model_name='labvalue',
|
|
1303
|
+
name='default_numerical_value_distribution',
|
|
1304
|
+
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='default_numerical_value_distribution', to='endoreg_db.numericvaluedistribution'),
|
|
1305
|
+
),
|
|
1306
|
+
migrations.AddField(
|
|
1307
|
+
model_name='labvalue',
|
|
1308
|
+
name='default_single_categorical_value_distribution',
|
|
1309
|
+
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='default_single_categorical_value_distribution', to='endoreg_db.singlecategoricalvaluedistribution'),
|
|
1310
|
+
),
|
|
1311
|
+
migrations.AddField(
|
|
1312
|
+
model_name='labvalue',
|
|
1313
|
+
name='default_unit',
|
|
1314
|
+
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='endoreg_db.unit'),
|
|
1315
|
+
),
|
|
446
1316
|
migrations.CreateModel(
|
|
447
1317
|
name='LabelVideoSegment',
|
|
448
1318
|
fields=[
|
|
@@ -496,6 +1366,11 @@ class Migration(migrations.Migration):
|
|
|
496
1366
|
name='video',
|
|
497
1367
|
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='frames', to='endoreg_db.video'),
|
|
498
1368
|
),
|
|
1369
|
+
migrations.AddField(
|
|
1370
|
+
model_name='examiner',
|
|
1371
|
+
name='gender',
|
|
1372
|
+
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='endoreg_db.gender'),
|
|
1373
|
+
),
|
|
499
1374
|
migrations.CreateModel(
|
|
500
1375
|
name='ExaminationTimeType',
|
|
501
1376
|
fields=[
|
|
@@ -533,6 +1408,92 @@ class Migration(migrations.Migration):
|
|
|
533
1408
|
name='examination_types',
|
|
534
1409
|
field=models.ManyToManyField(blank=True, to='endoreg_db.examinationtype'),
|
|
535
1410
|
),
|
|
1411
|
+
migrations.AddField(
|
|
1412
|
+
model_name='emissionfactor',
|
|
1413
|
+
name='unit',
|
|
1414
|
+
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='endoreg_db.unit'),
|
|
1415
|
+
),
|
|
1416
|
+
migrations.CreateModel(
|
|
1417
|
+
name='CenterWaste',
|
|
1418
|
+
fields=[
|
|
1419
|
+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
1420
|
+
('year', models.IntegerField()),
|
|
1421
|
+
('quantity', models.FloatField()),
|
|
1422
|
+
('center', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='endoreg_db.center')),
|
|
1423
|
+
('emission_factor', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='endoreg_db.emissionfactor')),
|
|
1424
|
+
('unit', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='endoreg_db.unit')),
|
|
1425
|
+
('waste', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='endoreg_db.waste')),
|
|
1426
|
+
],
|
|
1427
|
+
),
|
|
1428
|
+
migrations.CreateModel(
|
|
1429
|
+
name='CenterResource',
|
|
1430
|
+
fields=[
|
|
1431
|
+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
1432
|
+
('name', models.CharField(max_length=255, null=True)),
|
|
1433
|
+
('name_de', models.CharField(max_length=255, null=True)),
|
|
1434
|
+
('name_en', models.CharField(max_length=255, null=True)),
|
|
1435
|
+
('quantity', models.FloatField()),
|
|
1436
|
+
('year', models.IntegerField()),
|
|
1437
|
+
('center', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='endoreg_db.center')),
|
|
1438
|
+
('resource', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='endoreg_db.resource')),
|
|
1439
|
+
('transport_emission_factor', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='center_resource_transport_emission_factor', to='endoreg_db.emissionfactor')),
|
|
1440
|
+
('unit', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='endoreg_db.unit')),
|
|
1441
|
+
('use_emission_factor', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='center_resource_use_emission_factor', to='endoreg_db.emissionfactor')),
|
|
1442
|
+
],
|
|
1443
|
+
),
|
|
1444
|
+
migrations.CreateModel(
|
|
1445
|
+
name='CenterProduct',
|
|
1446
|
+
fields=[
|
|
1447
|
+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
1448
|
+
('date_used', models.DateField()),
|
|
1449
|
+
('center', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='endoreg_db.center')),
|
|
1450
|
+
('product', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='endoreg_db.product')),
|
|
1451
|
+
],
|
|
1452
|
+
),
|
|
1453
|
+
migrations.AddField(
|
|
1454
|
+
model_name='center',
|
|
1455
|
+
name='first_names',
|
|
1456
|
+
field=models.ManyToManyField(related_name='centers', to='endoreg_db.firstname'),
|
|
1457
|
+
),
|
|
1458
|
+
migrations.AddField(
|
|
1459
|
+
model_name='center',
|
|
1460
|
+
name='last_names',
|
|
1461
|
+
field=models.ManyToManyField(related_name='centers', to='endoreg_db.lastname'),
|
|
1462
|
+
),
|
|
1463
|
+
migrations.CreateModel(
|
|
1464
|
+
name='CaseTemplateRule',
|
|
1465
|
+
fields=[
|
|
1466
|
+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
1467
|
+
('name', models.CharField(max_length=255)),
|
|
1468
|
+
('name_de', models.CharField(max_length=255, null=True)),
|
|
1469
|
+
('name_en', models.CharField(max_length=255, null=True)),
|
|
1470
|
+
('description', models.TextField(blank=True, null=True)),
|
|
1471
|
+
('parent_model', models.CharField(blank=True, max_length=255, null=True)),
|
|
1472
|
+
('parent_field', models.CharField(blank=True, max_length=255, null=True)),
|
|
1473
|
+
('target_field', models.CharField(blank=True, max_length=255, null=True)),
|
|
1474
|
+
('target_model', models.CharField(blank=True, max_length=255, null=True)),
|
|
1475
|
+
('rule_values', models.JSONField(blank=True, null=True)),
|
|
1476
|
+
('extra_parameters', models.JSONField(blank=True, null=True)),
|
|
1477
|
+
('chained_rules', models.ManyToManyField(related_name='calling_rules', to='endoreg_db.casetemplaterule')),
|
|
1478
|
+
('date_value_distribution', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='endoreg_db.datevaluedistribution')),
|
|
1479
|
+
('multiple_categorical_value_distribution', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='endoreg_db.multiplecategoricalvaluedistribution')),
|
|
1480
|
+
('numerical_value_distribution', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='endoreg_db.numericvaluedistribution')),
|
|
1481
|
+
('rule_type', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='endoreg_db.casetemplateruletype')),
|
|
1482
|
+
('single_categorical_value_distribution', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='endoreg_db.singlecategoricalvaluedistribution')),
|
|
1483
|
+
('value_type', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='endoreg_db.casetemplaterulevaluetype')),
|
|
1484
|
+
],
|
|
1485
|
+
),
|
|
1486
|
+
migrations.CreateModel(
|
|
1487
|
+
name='CaseTemplate',
|
|
1488
|
+
fields=[
|
|
1489
|
+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
1490
|
+
('name', models.CharField(max_length=255, unique=True)),
|
|
1491
|
+
('description', models.TextField(blank=True, null=True)),
|
|
1492
|
+
('rules', models.ManyToManyField(to='endoreg_db.casetemplaterule')),
|
|
1493
|
+
('secondary_rules', models.ManyToManyField(related_name='secondary_rules', to='endoreg_db.casetemplaterule')),
|
|
1494
|
+
('template_type', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='case_templates', to='endoreg_db.casetemplatetype')),
|
|
1495
|
+
],
|
|
1496
|
+
),
|
|
536
1497
|
migrations.CreateModel(
|
|
537
1498
|
name='BinaryClassificationAnnotationTask',
|
|
538
1499
|
fields=[
|
|
@@ -551,6 +1512,30 @@ class Migration(migrations.Migration):
|
|
|
551
1512
|
'abstract': False,
|
|
552
1513
|
},
|
|
553
1514
|
),
|
|
1515
|
+
migrations.CreateModel(
|
|
1516
|
+
name='AglServiceLogEntry',
|
|
1517
|
+
fields=[
|
|
1518
|
+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
1519
|
+
('timestamp', models.DateTimeField(auto_now_add=True)),
|
|
1520
|
+
('ip_address', models.GenericIPAddressField(blank=True, null=True)),
|
|
1521
|
+
('user_agent', models.CharField(blank=True, max_length=256, null=True)),
|
|
1522
|
+
('message', models.TextField()),
|
|
1523
|
+
('json_content', models.JSONField(blank=True, null=True)),
|
|
1524
|
+
('device', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='endoreg_db.networkdevice')),
|
|
1525
|
+
('log_type', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='endoreg_db.logtype')),
|
|
1526
|
+
('service', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='endoreg_db.aglservice')),
|
|
1527
|
+
('user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL)),
|
|
1528
|
+
],
|
|
1529
|
+
options={
|
|
1530
|
+
'verbose_name': 'AGL Service Log Entry',
|
|
1531
|
+
'verbose_name_plural': 'AGL Service Log Entries',
|
|
1532
|
+
},
|
|
1533
|
+
),
|
|
1534
|
+
migrations.AddField(
|
|
1535
|
+
model_name='aglservice',
|
|
1536
|
+
name='devices',
|
|
1537
|
+
field=models.ManyToManyField(related_name='services', to='endoreg_db.networkdevice'),
|
|
1538
|
+
),
|
|
554
1539
|
migrations.CreateModel(
|
|
555
1540
|
name='ActiveModel',
|
|
556
1541
|
fields=[
|