endoreg-db 0.3.5__py3-none-any.whl → 0.3.7__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.
@@ -52,6 +52,9 @@ CASE_TEMPLATE_RULE_TYPE_DATA_DIR = CASE_TEMPLATE_BASE_DIR / "rule_type"
52
52
  CASE_TEMPLATE_RULE_VALUE_DATA_DIR = CASE_TEMPLATE_BASE_DIR / "rule_value"
53
53
  CASE_TEMPLATE_RULE_VALUE_TYPE_DATA_DIR = CASE_TEMPLATE_BASE_DIR / "rule_value_type"
54
54
 
55
+ # NETWORK
56
+ NETWORK_DEVICE_DATA_DIR = DATA_DIR / "network_device"
57
+ NETWORK_DEVICE_TYPE_DATA_DIR = DATA_DIR / "network_device_type"
55
58
 
56
59
  # To Do
57
60
  LAB_VALUE_DATA_DIR = DATA_DIR / "lab_value"
@@ -0,0 +1,17 @@
1
+ - model: endoreg_db.network_device
2
+ fields:
3
+ name: "agl-server-01"
4
+ device_type: "agl-server"
5
+ ip_address: "172.16.255.1"
6
+
7
+ - model: endoreg_db.network_device
8
+ fields:
9
+ name: "agl-server-03"
10
+ device_type: "agl-server"
11
+ ip_address: "172.16.255.3"
12
+
13
+ - model: endoreg_db.network_device
14
+ fields:
15
+ name: "agl-server-04"
16
+ device_type: "agl-server"
17
+ ip_address: "172.16.255.4"
@@ -0,0 +1,8 @@
1
+ - model: endoreg_db.network_device_type
2
+ fields:
3
+ name: "agl-server"
4
+
5
+
6
+ - model: endoreg_db.network_device_type
7
+ fields:
8
+ name: "coloreg-client"
@@ -16,6 +16,10 @@ class Command(BaseCommand):
16
16
 
17
17
  self.stdout.write(self.style.SUCCESS("Populating base db models with data..."))
18
18
 
19
+ # Run the load_network_data command
20
+ self.stdout.write(self.style.SUCCESS("Running load_network_data..."))
21
+ call_command('load_network_data', verbose=verbose)
22
+
19
23
  # Run the load_profession_data command
20
24
  self.stdout.write(self.style.SUCCESS("Running load_profession_data..."))
21
25
  call_command('load_profession_data', verbose=verbose)
@@ -0,0 +1,49 @@
1
+ from django.core.management.base import BaseCommand
2
+ from endoreg_db.models import NetworkDevice, NetworkDeviceType
3
+ from ...utils import load_model_data_from_yaml
4
+ from ...data import NETWORK_DEVICE_DATA_DIR, NETWORK_DEVICE_TYPE_DATA_DIR
5
+
6
+ MODEL_0 = NetworkDeviceType
7
+ MODEL_1 = NetworkDevice
8
+
9
+ IMPORT_MODELS = [ # string as model key, serves as key in IMPORT_METADATA
10
+ MODEL_0.__name__,
11
+ MODEL_1.__name__
12
+ ]
13
+
14
+ IMPORT_METADATA = {
15
+ MODEL_0.__name__: {
16
+ "dir": NETWORK_DEVICE_TYPE_DATA_DIR, # e.g. "interventions"
17
+ "model": MODEL_0, # e.g. Intervention
18
+ "foreign_keys": [], # e.g. ["intervention_types"]
19
+ "foreign_key_models": [] # e.g. [InterventionType]
20
+ },
21
+ MODEL_1.__name__: {
22
+ "dir": NETWORK_DEVICE_DATA_DIR, # e.g. "interventions"
23
+ "model": MODEL_1, # e.g. Intervention
24
+ "foreign_keys": ["device_type"], # e.g. ["intervention_types"]
25
+ "foreign_key_models": [NetworkDeviceType] # e.g. [InterventionType]
26
+ }
27
+ }
28
+
29
+ class Command(BaseCommand):
30
+ help = """Load all .yaml files in the data/intervention directory
31
+ into the Intervention and InterventionType model"""
32
+
33
+ def add_arguments(self, parser):
34
+ parser.add_argument(
35
+ '--verbose',
36
+ action='store_true',
37
+ help='Display verbose output',
38
+ )
39
+
40
+ def handle(self, *args, **options):
41
+ verbose = options['verbose']
42
+ for model_name in IMPORT_MODELS:
43
+ _metadata = IMPORT_METADATA[model_name]
44
+ load_model_data_from_yaml(
45
+ self,
46
+ model_name,
47
+ _metadata,
48
+ verbose
49
+ )
@@ -4,6 +4,7 @@ from .center import *
4
4
  from .report_reader import ReportReaderConfig, ReportReaderFlag
5
5
  from .emission import *
6
6
  from .persons import *
7
+ from .network import *
7
8
 
8
9
  from .case_template import *
9
10
  # from .other.distribution import (
@@ -0,0 +1,2 @@
1
+ from .network_device import NetworkDevice
2
+ from .network_device_type import NetworkDeviceType
@@ -0,0 +1,27 @@
1
+ # Django db class to store network devices (e.g., servers, clients, switches, etc.)
2
+
3
+ from django.db import models
4
+
5
+ class NetworkDeviceManager(models.Manager):
6
+ # Custom manager for NetworkDevice; defines name as natural key
7
+ def get_by_natural_key(self, name):
8
+ return self.get(name=name)
9
+
10
+ class NetworkDevice(models.Model):
11
+ name = models.CharField(max_length=255)
12
+ ip = models.GenericIPAddressField(blank=True, null=True)
13
+ description = models.CharField(max_length=255)
14
+ device_type = models.ForeignKey("NetworkDeviceType", on_delete=models.CASCADE)
15
+ created = models.DateTimeField(auto_now_add=True)
16
+ updated = models.DateTimeField(auto_now=True)
17
+ objects = NetworkDeviceManager()
18
+
19
+ def __str__(self):
20
+ return self.name
21
+
22
+ class Meta:
23
+ db_table = 'network_devices'
24
+ ordering = ['name']
25
+
26
+ def natural_key(self):
27
+ return (self.name,)
@@ -0,0 +1,23 @@
1
+ # Django db class to store network device types (e.g., server, client, switch, etc.)
2
+
3
+ from django.db import models
4
+
5
+ class NetworkDeviceTypeManager(models.Model):
6
+ # Custom manager for NetworkDeviceType; defines name as natural key
7
+ def get_by_natural_key(self, name):
8
+ return self.get(name=name)
9
+
10
+ class NetworkDeviceType(models.Model):
11
+ name = models.CharField(max_length=255)
12
+ description = models.CharField(max_length=255)
13
+ created = models.DateTimeField(auto_now_add=True)
14
+ updated = models.DateTimeField(auto_now=True)
15
+ objects = NetworkDeviceTypeManager()
16
+
17
+ def __str__(self):
18
+ return self.name
19
+
20
+ class Meta:
21
+ db_table = 'network_device_types'
22
+ ordering = ['name']
23
+
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: endoreg-db
3
- Version: 0.3.5
3
+ Version: 0.3.7
4
4
  Summary: EndoReg Db Django App
5
5
  License: GNU3
6
6
  Author: Thomas J. Lux
@@ -1,7 +1,7 @@
1
1
  endoreg_db/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
2
  endoreg_db/admin.py,sha256=suMo4x8I3JBxAFBVIdE-5qnqZ6JAZV0FESABHOSc-vg,63
3
3
  endoreg_db/apps.py,sha256=zYb2_RiEGIsLS6_OMWzCxcTHSNkF28CqF4xcd_6NHUg,151
4
- endoreg_db/data/__init__.py,sha256=HAoWjIVw8aO_lgArCZwXRr0Llt1is4JzPurJEy_FTCA,2994
4
+ endoreg_db/data/__init__.py,sha256=OAsZAYQQOEpVIo9NCZJ9D8c0w1AhInBfPeCQ0lvVEoE,3122
5
5
  endoreg_db/data/active_model/data.yaml,sha256=G7PvKmGDm_Gt6Tzf99s18b5vlE5qWruvClzlcINqDQE,86
6
6
  endoreg_db/data/case_template/rule/00_patient_lab_sample_add_default_value.yaml,sha256=H3kTALJ_6GJrY-4EYemeTCaa81NkyI-8LcNJFuEp5zs,4100
7
7
  endoreg_db/data/case_template/rule/01_patient-set-age.yaml,sha256=lXfgKtirkQMHfAQtp9y9mojNnYx2KskGvdK-C1GEmtc,281
@@ -68,6 +68,8 @@ endoreg_db/data/medication_schedule/apixaban.yaml,sha256=TjmoBu4ian9ZwiSN5qBKtiv
68
68
  endoreg_db/data/medication_schedule/ass.yaml,sha256=ECiHbQcahbZP9B8IDOYRB6vHKj3yl7cBY9QasIHJ7sM,295
69
69
  endoreg_db/data/medication_schedule/enoxaparin.yaml,sha256=lI8WfFBspEXhTxnTEfyq1a_VBKbdNAcj34PIF2_X3cQ,653
70
70
  endoreg_db/data/model_type/data.yaml,sha256=vCMMo8wiI5uL2zrQROmgsHq1GrC8IdagGIgNdQunUeQ,149
71
+ endoreg_db/data/network_device/data.yaml,sha256=dm1zxeDzBJ6JKrk9Si0_3ZvlH0U4He_A6-EBix2Yl1o,397
72
+ endoreg_db/data/network_device_type/data.yaml,sha256=a052EXWgo3m_8DrzJ4tYGUybc8qC6xdRCBgswiSK38M,152
71
73
  endoreg_db/data/patient_lab_sample_type/generic.yaml,sha256=nbtummOrGUeBkM7sVpqq48txkC-bmxn4_h40oS4VloY,162
72
74
  endoreg_db/data/pdf_type/data.yaml,sha256=0eMCb3-j2_zY0NkyIFFM7H9658kILpd5mt_OgrXxs64,990
73
75
  endoreg_db/data/product/green_endoscopy_dashboard_Product.yaml,sha256=PzQGTSXJ-UwtXkOGdI0nsGGDo0HO1KwZKpCfiEqmdt0,1898
@@ -107,7 +109,7 @@ endoreg_db/management/commands/import_legacy_images.py,sha256=IcBmihG9rvqC37XgMg
107
109
  endoreg_db/management/commands/import_legacy_videos.py,sha256=OHFTNb53RtznRyVay88vo83fkfafTiwTgUMieI70NX4,2732
108
110
  endoreg_db/management/commands/load_active_model_data.py,sha256=NpWIksrVQIyrd-ZhI_B_34NFbLJI1_vhwuN6gXc8hgQ,1337
109
111
  endoreg_db/management/commands/load_ai_model_data.py,sha256=rjC-yK8NNr0a0TDqvGHufI27ANQYTWDkWlSEWRkubGY,1329
110
- endoreg_db/management/commands/load_base_db_data.py,sha256=bhL9q2FDdYQQ25ZdEiYvl7McLq8Bzu3h2dyC7z9LGF0,6111
112
+ endoreg_db/management/commands/load_base_db_data.py,sha256=xewHewt_4OMunmEX-yntX2EFfd5bGSBhAWKVdqNzMcY,6293
111
113
  endoreg_db/management/commands/load_center_data.py,sha256=Ra7BikibHJF4Ks72WNGwJqtbIw-9MieCxKlZG_RUA-s,1339
112
114
  endoreg_db/management/commands/load_disease_classification_choices_data.py,sha256=zSwNVmI56myFtOBUxV9kD_-4NKh0Z4nWuvFN3RSSulU,1361
113
115
  endoreg_db/management/commands/load_disease_classification_data.py,sha256=B0sIgDq35e8Js3cqBCpRBoDuKRoDy7YvPbaZ4jjJS2I,1305
@@ -128,6 +130,7 @@ endoreg_db/management/commands/load_medication_indication_data.py,sha256=lR3zJdT
128
130
  endoreg_db/management/commands/load_medication_indication_type_data.py,sha256=CJ3zyFv7DnTuhBfG6TAdU9uZ0c2aHd31Y33g3X-SYVA,1282
129
131
  endoreg_db/management/commands/load_medication_intake_time_data.py,sha256=Qln3plozYsADcS0gKLdnLzAjbVLxC6N9h3ja-pS5CiI,1270
130
132
  endoreg_db/management/commands/load_medication_schedule_data.py,sha256=UTnCGF2gFUsdDb76cYrntaHGFazz4tUWg9ulF8bOVKY,1514
133
+ endoreg_db/management/commands/load_network_data.py,sha256=JMusB-hPmuhuHbaIyg2tJ95yTfuJwTbf9MIUUqHD6aE,1637
131
134
  endoreg_db/management/commands/load_pdf_type_data.py,sha256=sJeGI1M4Xwkagi7rModwUJH3MuQckZXdOkHekoAvRAw,1650
132
135
  endoreg_db/management/commands/load_profession_data.py,sha256=oF3OF7zRqxA-SVpMW6e7LJ3MSfEc5Hoz1XlcvcFACRg,1321
133
136
  endoreg_db/management/commands/load_report_reader_flag.py,sha256=pvqRgtcjaYTgx2Ce7HYnNzsUB48yJe9lXTk-lzfJUPI,1371
@@ -203,7 +206,7 @@ endoreg_db/migrations/0065_rename__date_value_distribution_casetemplaterule_date
203
206
  endoreg_db/migrations/0066_alter_patientlabvalue_patient_and_more.py,sha256=XEn9XBxJhh0mNDj8htiLUcViyGMLOkew2UmbbMExeC4,1240
204
207
  endoreg_db/migrations/0067_alter_medicationindication_indication_type.py,sha256=HcMRzp-G1bOl2y_aKTU1GMk85bX1sTO-XMeLNG4MzmE,577
205
208
  endoreg_db/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
206
- endoreg_db/models/__init__.py,sha256=CL_Ea13ebAp9-q9wBjsAojFvF0tDr7qtNA5z7tJI9q0,1506
209
+ endoreg_db/models/__init__.py,sha256=o0z5ORbMweAR15gSHRkXJzScj7Fr8SLXUoZ2J-p660k,1529
207
210
  endoreg_db/models/ai_model/__init__.py,sha256=rh5npLRGml5iiRocx359gsaA82pGJTW7wdVAfnbZP6w,106
208
211
  endoreg_db/models/ai_model/active_model.py,sha256=r7SE3yg54kbjfOkk0Ei0rgs_Wo3ikx88rcEELqvRzGc,343
209
212
  endoreg_db/models/ai_model/model_meta.py,sha256=YyYW8dScpAceHePnbrnRpgVBYDByi9x7u5Ydh03OJuo,869
@@ -263,6 +266,9 @@ endoreg_db/models/legacy_data/__init__.py,sha256=J0ewe30Y2qCxCUPktcFOm2WOEz2fQnw
263
266
  endoreg_db/models/legacy_data/image.py,sha256=mKQed6AIJL2XauPB2GevHX6NXaR8gphundI9_IC9Hpc,1622
264
267
  endoreg_db/models/medication/__init__.py,sha256=69K9Iy3zEqJSd0zS_ZS9WKbvGQIgmOJm1PCpPI_vwOg,25
265
268
  endoreg_db/models/medication/medication.py,sha256=tPXBnrGVkmyvfhjJQGcD4Jq2TkYeHl8nNLvGuVisBiI,4939
269
+ endoreg_db/models/network/__init__.py,sha256=RjhUS0qXDvcAwrszx2nG_C9fXKO43q1jQZIM1tY6j90,92
270
+ endoreg_db/models/network/network_device.py,sha256=s_zuLMSwu-6mpwxS7Gc0P9wSih_HzJtMWHW4hkjH5Vg,916
271
+ endoreg_db/models/network/network_device_type.py,sha256=8cWAutupItIvXM8E8YWmHuR0YNxZXnFS67IG7hCGQNw,726
266
272
  endoreg_db/models/other/__init__.py,sha256=HDlNBuS98uIvxpw3sww-hiyulG871TzulFRrLO0C8ec,158
267
273
  endoreg_db/models/other/distribution.py,sha256=OLMELIpP9xQa4BkiLZoBbEoxzLmOponZh_LYro6g4DM,8404
268
274
  endoreg_db/models/other/material.py,sha256=5C09hUD-cQL8vCRFNPyq2OyRHjFwCA5nCwW4Zh16Ak0,520
@@ -351,7 +357,7 @@ endoreg_db/utils/ocr.py,sha256=jkdT1bl-LSCjZ2PvxlX1AG2TmhdMclayxUPrdZWs7UE,7322
351
357
  endoreg_db/utils/uuid.py,sha256=T4HXqYtKwXFqE5kPyvlgWHyllBBF6LL6N48nl9TpwBk,53
352
358
  endoreg_db/utils/video_metadata.py,sha256=HDyXxAeNQOK3cGzQ06xosmObzEnJBARuKjwz9vmmRIM,2613
353
359
  endoreg_db/views.py,sha256=xc1IQHrsij7j33TUbo-_oewy3vs03pw_etpBWaMYJl0,63
354
- endoreg_db-0.3.5.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
355
- endoreg_db-0.3.5.dist-info/METADATA,sha256=5ET-SK-6xp6iQzORaPywFb_ZdL0kTYvCb46NU8nsZA0,976
356
- endoreg_db-0.3.5.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
357
- endoreg_db-0.3.5.dist-info/RECORD,,
360
+ endoreg_db-0.3.7.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
361
+ endoreg_db-0.3.7.dist-info/METADATA,sha256=yaBTmBrl60vf7SiwpixdGiRMzky3lD_hV-RHzzPQDNI,976
362
+ endoreg_db-0.3.7.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
363
+ endoreg_db-0.3.7.dist-info/RECORD,,